【发布时间】:2017-12-19 22:38:09
【问题描述】:
我有一个这样的 df1:
Date <-c("12/10/17","12/11/17","12/12/17","12/13/17","12/14/17","12/15/17","12/16/17")
Ben <- c(1294,NA,8959,2345,NA,0303,NA)
James <- c(NA,4523,3246,NA,NA,NA,NA)
Alex <- c(3754,1122,5582,NA,2910,NA,NA)
df1 <- data.frame(Date,Ben,James,Alex)`
#df1
Date Ben James Alex
12/10/17 1294 NA 3754
12/11/17 NA 4523 1122
12/12/17 8959 3246 5582
12/13/17 2345 NA NA
12/14/17 NA NA 2910
12/15/17 0303 NA NA
12/16/17 NA NA NA
我想获得一个列表,该列表从每列中获取最后 3 个非 NA 值并维护它们的列。如果列中的非 NA 值少于 3 个,它会列出其中的值,因此列的长度可能不相等:
Ben James Alex
8959 4523 1122
2345 3246 5582
0303 2910
这获取最后 3 个,但将它们全部放在一个未分类的向量中:
c(sapply(df[-1], function(x) sprintf("%s", tail(x[!is.na(x)], 3))))
【问题讨论】:
标签: r