我有一个因子列的data.table,我想拉出每行中最后一个非缺失值的标签.这是一种典型的max.col情况,但我不想在我尝试使用data.table优化此代码时不必要地强制执行.实际数据也有其他类型的列.
这是一个例子,
## Some sample data
set.seed(0)
dat <- sapply(split(letters[1:25], rep.int(1:5, 5)), sample, size=8, replace=TRUE)
dat[upper.tri(dat)] <- NA
dat[4:5, 4:5] <- NA # the real data isnt nice and upper.triangular
dat <- data.frame(dat, stringsAsFactors = TRUE) # factor columns
## So, it looks like this
setDT(dat)[]
# X1 X2 X3 X4 X5
# 1: u NA NA NA NA
# 2: f q NA NA NA
# 3: f b w NA NA
# 4: k g h …Run Code Online (Sandbox Code Playgroud) 我有一个数据框,其中每一行是不同长度值的向量.我想在每一行中创建一个最后一个真值的向量.
这是一个示例数据框:
df <- read.table(tc <- textConnection("
var1 var2 var3 var4
1 2 NA NA
4 4 NA 6
2 NA 3 NA
4 4 4 4
1 NA NA NA"), header = TRUE); close(tc)
Run Code Online (Sandbox Code Playgroud)
因此,我想要的值向量c(2,6,3,4,1).
我只是无法弄清楚如何让R来识别最后一个值.
任何帮助表示赞赏!