我有大量的经济数据。数据,所有这些都有不同的开始日期。我试图找到每个人的开始日期的索引(即第一个非零)
我试过循环和哪一个(!is.na)和位置函数。对于for循环,我得到了一个错误“closure' not subsettable”。
x <- c(NA, NA, NA, 6, 5, 3, 7, 2, 7, 8)
y <- c(NA, NA, NA, NA, NA, 3, 5, 6, 3, 9)
z <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
mydata <- data.frame(x, y, z)
for (j in 1:ncol(mydata)){
index[j] <- min(which(!is.na(mydata[,j])))}
Position(function(x) !is.na(x), mydata)
我希望结果是index = c(4,6,1)。
对于for循环,我得到了一个不可subsettable的错误,而对于Position函数,我得到了一个只有第一个元素的错误
而且我也没有Dplyr的权限
3条答案
按热度按时间drkbr07n1#
Position
可以工作,但它不能一次在data.frame
上工作,你必须在每一列上循环它。例如:mwg9r5ms2#
我们可以使用
summarise_all
which
ctrmrzij3#
我们可以这样做: