R 如何按特定顺序从多个列中提取值

R 如何按特定顺序从多个列中提取值,r,R,我有一个包含前三年变量的数据集 data <- read.table(text=" a 2015 2016 2017 1 100 100 100 2 1000 5 NA 3 10000 NA NA", header=TRUE) 数据2016->2015 output <- read.table(text=" a 2015 2016 2017 recent 1

我有一个包含前三年变量的数据集

data <- read.table(text="
 a        2015  2016  2017  
 1        100    100   100
 2        1000    5    NA
 3       10000    NA   NA", header=TRUE)
数据2016->2015

output <- read.table(text="
 a        2015  2016  2017  recent
 1        100    100   100   100
 2        1000    5    NA     5
 3       10000    NA   NA     10000", header=TRUE)

output这里有一个简单的baser解决方案。这假设年份是从左到右排序的

data$recent <- apply(data, 1, function(x) tail(na.omit(x), 1))

  a X2015 X2016 X2017 recent
1 1   100   100   100    100
2 2  1000     5    NA      5
3 3 10000    NA    NA  10000
data$recent