r - 计算数据帧中高于阈值的行数作为函数或其他列因素

标签 r dataframe collapse threshold

我想找到每天每个主题的行数,其中值大于 11 并将这些输出到数据框中进行分析。数据集很大(5000 行)所以需要一个函数。

subject = c(rep("A", 12), rep("B", 12))        
day = c(1,1,1,1,2,2,2,2,3,3,3,3,1,1,1,1,2,2,2,2,3,3,3,3)
value = c(13,14,15,5,12,9,6,14,4,2,1,2,13,14,15,5,12,9,6,14,2,2,2,3)
df = data.frame(subject, day, value)
df

   subject day value
1        A   1    13
2        A   1    14
3        A   1    15
4        A   1     5
5        A   2    12
6        A   2     9
7        A   2     6
8        A   2    14
9        A   3     4
10       A   3     2
11       A   3     1
12       A   3     2
13       B   1    13
14       B   1    14
15       B   1    15
16       B   1     5
17       B   2    12
18       B   2     9
19       B   2     6
20       B   2    14
21       B   3     2
22       B   3     2
23       B   3     2
24       B   3     3

我想要的输出是
subject.agg = c(rep("A", 3), rep("B", 3)) 
day.agg = as.factor(c(1,2,3,1,2,3))
highvalues = (c(3,2,0,3,2,0))
df.agg = data.frame(subject.agg,day.agg,highvalues)
df.agg

  subject.agg day.agg highvalues
1           A       1          3
2           A       2          2
3           A       3          0
4           B       1          3
5           B       2          2
6           B       3          0

非常感谢任何帮助。

最佳答案

一种选择是 aggregate来自 base R

aggregate(cbind(highvalues=value>11)~., df,  sum)

或与 data.table
library(data.table)
setDT(df)[value>11, .(highvalues=.N), by = .(subject, day)]
#     subject day highvalues
#1:       A   1          3
#2:       A   2          2
#3:       A   3          3
#4:       B   1          3
#5:       B   2          2
#6:       B   3          3

关于r - 计算数据帧中高于阈值的行数作为函数或其他列因素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40545309/

相关文章:

xml - R:readBin 字符限制(10 000 字节)的解决方法?

r - 使用相同的引用比较组内的日期

python - 正则表达式匹配不适用于 Pyteomics 解析器的简单字符串

twitter-bootstrap - Bootstrap 崩溃 : change display of toggle button icons and text

twitter-bootstrap - Twitter Bootstrap 响应式菜单/小型设备 : close/collapse menu on clicking a menu item

r - 嵌套在 R 中的嵌套列表中的过程向量

r - 无法将R代码从针织文档发送到SublimeREPL

python - 使用 Python 中的 Pandas,仅选择 group by group count 为 1 的行

postgresql - 如何动态删除交叉表列

R Shiny 传递响应式(Reactive)到 selectInput 选择