我的表格如下:
ID period 1 period 2 period 3 period 4
A 4 2 25 42
B 3 56 2 45
C 16 1 34 67
D 56 2 8 48
我想在R中检查每行中多少次(cols),我得到的值小于10.例如,在行A中,我有两个低于10的值。 任何想法???
我使用了分位数值并获得了以下内容:
分位数(V [,2:5],na.rm = TRUE) 0%25%50%75%100% 1.00 2.75 20.50 45.75 67.00
但这不是我所需要的;我想知道低于10的值的百分比(或计数)。我尝试使用以下并且也没有工作:
限 [1] 10 v $ tot< -count(v,c(“ID”,“period1”,“period2”),wt_var = limit)`
实际数据集区域的前几行如下:
id 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
1 xxxlll 61 36 277 462 211 182 45 41 128 174 179 87 18 NaN NaN NaN NaN
2 ccvvbb 281 340 592 455 496 348 422 491 408 548 596 611 570 580 530 602 614
3 ddffgr 587 964 895 866 1120 725 547 90 NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 rrteww 257 331 320 411 442 316 334 403 355 444 522 661 508 499 520 413 494
5 oiertw 261 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
答案 0 :(得分:1)
我想我会在OP没有的情况下添加答案,但在这种情况下我会使用rowSums
和逻辑比较......
# '-1' drops the ID column
x <- rowSums( df[ ,-1 ] < 10 )
names(x) <- df$ID
x
#A B C D
#2 2 1 2