我有一个像这样的数据框:
Keyword 1 2 3 4 5
a 0.7 NA NA 0.3 0.4
b NA NA 0.5 NA NA
c NA 0.2 NA NA 0.3
d NA NA NA 0.3 0.4
Run Code Online (Sandbox Code Playgroud)
我想得到它,结果给了我这个:
Keyword First Value
a 1 0.7
b 3 0.5
c 2 0.2
d 4 0.3
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
谢谢.
解决方案创造了奇迹.
如果我想要最后一个值,结果如下所示:
Keyword Last Value
a 5 0.4
b 3 0.5
c 5 0.3
d 5 0.4
Run Code Online (Sandbox Code Playgroud)
我不知道要改变哪个索引.
谢谢.
DF <- read.table(text="Keyword 1 2 3 4 5
a 0.7 NA NA 0.3 0.4
b NA NA 0.5 NA NA
c NA 0.2 NA NA 0.3
d NA NA NA 0.3 0.4
e NA NA NA NA NA", header=TRUE)
setNames(
data.frame(DF[,1],
t(apply(DF[-1], 1, function(x) {
ind <- which(!is.na((x)))[1]
c(ind, x[ind])
}))
), c("Keyword", "First", "Value"))
# Keyword First Value
#1 a 1 0.7
#2 b 3 0.5
#3 c 2 0.2
#4 d 4 0.3
#5 e NA NA
Run Code Online (Sandbox Code Playgroud)