我有以下 dataframe
,我想获得一个向量,其中包含每列的最后一个 non-NA
行:
df <- data.frame(a = 1:5, b = 6:10, c = c(rep(NA, 5)))
df <- rbind(df, rep(NA, ncol(df)), rep(NA, ncol(df)))
df[2,] <- NA
df$b[6]<-8
df
a b c
1 1 6 NA
2 NA NA NA
3 3 8 NA
4 4 9 NA
5 5 10 NA
6 NA 8 NA
7 NA NA NA
我正在寻找的向量如下:
c(5,6,0)
如何使用 base R
实现此目的?到目前为止,我运行以下公式...
apply(row(df) + 0 * df, 2, function(x) max(x, na.rm = TRUE))
...但它向我抛出以下警告消息:
警告消息:在 max(x, na.rm = TRUE) 中:max 没有非缺失参数;返回 -Inf
最佳答案
sapply(df, function(z) c(rev(which(!is.na(z))), 0)[1])
# a b c
# 5 6 0
关于r - 查找数据框每一列的最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71521779/