这是我的问题:我得到了 3000 obs 的数据。和 5000 个功能,3000 个 obs。有一个像 100.1,100.3,100.5,100.7 这样的数字名称。我将名称更改为整数变量segs <-as.integer(names)
,然后我想将其segs
用作对所有 3000 个特征求和的因素。的长度segs
是 300,所以最终的数据帧是 300 x 5000。我知道tapply
可以用来按因子计算一个变量的总和,但我必须用它for
来对所有 5000 个特征求和。这真的很耗时,所以我想知道R中是否有明确的方法来解决这些问题,或者是否有一些包可以解决这类问题。
这是脏代码,是我想要df0
的数据:df
df <- data.frame()
for(i in 2:ncol(df0)-1){
temp <- tapply(df0[,i],df2$segs,sum)
df <- cbind(df,temp)
}
谢谢!
=====
谢谢,Roland,演示数据如下所示:
set.seed(42)
df0 <- data.frame(
X = rnorm(100,10,10),
Y = rnorm(100),
Z = rnorm(100))
df0$seq <- as.integer(df0$X)