[英]count the number of non-NA elements in each row of a data frame before a condition becomes false
说我有以下数据集:
mydf <- data.frame(serial = c(1:3),
A = c(NA,"2011-01-01","2011-02-01"),
B = c("2010-12-01","2011-01-01","2011-02-01"),
C = c("2010-12-01","2011-01-01",NA)
)
还有另一个向量称为极限
limit <- c("2011-02-10","2011-03-01","2011-01-12")
将限制视为mydf每行的阈值日期。 我想计算一下在阈值日期之前mydf每行非零/非NA的次数。 在这种情况下,如果我将结果存储在一个称为“场合”的向量中,它将具有以下元素:2,3,2。
注意:每列下的元素显然是YYYY-mm-dd格式的日期。
colSum
设置由“ <”创建的一组逻辑向量:
occasions <- colSums( sapply(mydf[-1], as.Date, format="%Y-%d-%m") <
as.Date(limit, format="%Y-%d-%m"),
na.rm=TRUE )
occasions
#------
A B C
2 3 2
as.Date
需要强制执行的逻辑比较的逻辑,但如果所有的值是真正的“YYYY-MM-DD”字符比较应该工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.