我正在尝试创建一个 data.frame,它根据参考 data.frame 的值采用不同的值。我只知道如何使用“for 循环”来执行此操作,但有人建议避免在 R 中使用 for 循环......而且我的实际数据有 ~500,000 行 x ~200 列。
a <- as.data.frame(matrix(rbinom(10,1,0.5),5,2,dimnames=list(c(1:5),c("a","b"))))
b <- data.frame(v1=c(2,10,12,5,11,3,4,14,2,13),v2=c("a","b","b","a","b","a","a","b","a","b"))
c <- as.data.frame(matrix(0,5,2))
for (i in 1:5){
for(j in 1:2){
if(a[i,j]==1){
c[i,j] <- mean(b$v1[b$v2==colnames(a)[j]])
} else {
c[i,j]= mean(b$v1)
}}}
c
我根据data.frame“a”的每个单元格中的值和相应的列名创建data.frame“c”。还有另一种方法可以做到这一点吗?索引?使用数据表?也许应用功能?非常感谢任何和所有帮助!