r - 查找数据框每一列的最后一行

标签 r dataframe

我有以下 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/

相关文章:

r - 如何从 netcdf 文件中可视化 map ?

r - R中非标准正态分布的曲线函数

R将具有分层数据的XML树解析为数据帧

python - 如何将选定列的值存储在单独的行中?

python - 无法连接类型为 "<class ' numpy.ndarray'>"的对象;只有 pd.Series、pd.DataFrame 和 pd.Panel(已弃用)objs 有效

完全删除facet_wrap标签

r - 将 gsub 函数和文本文件配对以进行语料库清理

r - 使用 fitdistrplus 包中的 fitdist() 时抑制错误消息

r - 在多行中打印带有列名的 R 数据框

python - 当您需要基于另一列更新列时,在 Pandas 中循环的替代方法