我想获得条目数>数据帧的每一行为0,例如获取具有此行数的新列。
我执行了一个循环,我可以使用它获取行计数,但它们被打印为一系列单独的向量。如何在单个列中获取这些值,然后可以在我的df中添加为列?
我有一个包含696行和214列的df。
for (i in 2:696) {
casecount <- length(which(testset[i,13:214] > 0))
print(casecount)
}
答案 0 :(得分:1)
不需要for
循环,只需执行
testset$casecount <- rowSums(testset[, 13:214] > 0)
答案 1 :(得分:0)
尝试使用rowSums
,如下所示:
n <- 10
set.seed(0)
dat <- data.frame(x=rnorm(n), y=rnorm(n), z=rnorm(n))
dat$count <- rowSums(dat > 0)
dat
x y z count
1 1.262954285 0.7635935 -0.22426789 2
2 -0.326233361 -0.7990092 0.37739565 1
3 1.329799263 -1.1476570 0.13333636 2
4 1.272429321 -0.2894616 0.80418951 2
5 0.414641434 -0.2992151 -0.05710677 1
6 -1.539950042 -0.4115108 0.50360797 1
7 -0.928567035 0.2522234 1.08576936 2
8 -0.294720447 -0.8919211 -0.69095384 0
9 -0.005767173 0.4356833 -1.28459935 1
10 2.404653389 -1.2375384 0.04672617 2