首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在data.table中链接以计算行总和

在data.table中链接以计算行总和
EN

Stack Overflow用户
提问于 2021-03-19 21:41:52
回答 1查看 61关注 0票数 0

我有一个这样的转换后的data.table:

代码语言:javascript
运行
复制
name <- c("Bob","Mary","Jane","Kim")
weight <- c(60,65,45,55)
height <- c(170,165,140,135)
dft <- data.table(name,weight,height) 
dft <-  data.table (dft[,.(name)] ,     dft[, weight %*% t(weight)]) 
names(dft) <- c("name", str_c("tau",1:4))

现在,我首先将tau12 = tau1 * tau2相乘,并计算包括tau12在内的所有五列的行和。

如果我使用

代码语言:javascript
运行
复制
dft[,  `:=`(tau12 = tau1 * tau2, 
            sum1 = lapply(.SD, sum) ) , .SDcols = patterns("^tau")  ]

但是,sum1只计算四列的和,不包括列tau12

我想知道在这种情况下如何计算和tau1+tau2+tau3+tau4+tau12?这与dplyr::mutate所做的不同,新生成的变量可以包含在后续操作中。

EN

回答 1

Stack Overflow用户

发布于 2021-03-19 21:48:51

像这样的东西?

代码语言:javascript
运行
复制
> dft[, tau12 := tau1 * tau2][, .(rowS = rowSums(.SD)), name, .SDcols = patterns("^tau")]       
   name     rowS
1:  Bob 14053500
2: Mary 16492125
3: Jane  7907625
4:  Kim 11809875
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66709288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档