按多个列组的“Data.table行平均值”
创始人
2024-10-14 03:01:28
0

要按多个列组的data.table行进行平均值计算,可以使用data.table包中的by参数和.SD符号。以下是一个示例代码:

library(data.table)

# 创建一个示例数据表
dt <- data.table(
  group1 = c("A", "A", "B", "B", "C", "C"),
  group2 = c("X", "Y", "X", "Y", "X", "Y"),
  value = c(1, 2, 3, 4, 5, 6)
)

# 按group1和group2列组合进行行平均值计算
avg_dt <- dt[, .(avg_value = mean(value)), by = .(group1, group2)]

# 输出结果
print(avg_dt)

输出结果如下:

   group1 group2 avg_value
1:      A      X       1.0
2:      A      Y       2.0
3:      B      X       3.0
4:      B      Y       4.0
5:      C      X       5.0
6:      C      Y       6.0

在代码中,我们首先使用data.table函数创建了一个示例数据表dt。然后,使用dt[, .(avg_value = mean(value)), by = .(group1, group2)]语句按"group1"和"group2"列组合计算了"value"列的平均值,并将结果赋给了新的数据表avg_dt。最后,使用print函数输出了计算结果。

注意,.SD符号表示每个组的子数据表,可以在计算中引用。例如,如果我们还想计算每个组的行数,可以将.N添加到.SD中,如dt[, .(avg_value = mean(value), count = .N), by = .(group1, group2)]

相关内容

热门资讯

Android Recycle... 要在Android RecyclerView中实现滑动卡片效果,可以按照以下步骤进行操作:首先,在项...
安装apache-beam==... 出现此错误可能是因为用户的Python版本太低,而apache-beam==2.34.0需要更高的P...
Android - 无法确定任... 这个错误通常发生在Android项目中,表示编译Debug版本的Java代码时出现了依赖关系问题。下...
Android - NDK 预... 在Android NDK的构建过程中,LOCAL_SRC_FILES只能包含一个项目。如果需要在ND...
Alertmanager在pr... 首先,在Prometheus配置文件中,确保Alertmanager URL已正确配置。例如:ale...
Akka生成Actor问题 在Akka框架中,可以使用ActorSystem对象生成Actor。但是,当我们在Actor类中尝试...
Agora-RTC-React... 出现这个错误原因是因为在 React 组件中使用,import AgoraRTC from “ago...
Aksnginxdomainb... 在AKS集群中,可以使用Nginx代理服务器实现根据域名进行路由。以下是具体步骤:部署Nginx i...
Alertmanager中的基... Alertmanager中可以使用repeat_interval选项指定在一个告警重复发送前必须等待...
AddSingleton在.N... 在C#中创建Singleton对象通常是通过私有构造函数和静态属性来实现,例如:public cla...