0

我有一张如下表:

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 中检查每行中有多少次(列)我得到低于 10 的值。例如,在行中 AI 有两个值低于 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
4

1 回答 1

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 
于 2013-06-26T16:01:18.880 回答