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