- 此问题在此处已有答案**:
Select last non-NA value in a row, by row(3个答案)
For each row return the column index and name of non-NA value(3个答案)
Return name of last data frame column which is not NA in each row(3个答案)
13小时前关门了。
我试图在现有的数据框中创建一个新变量,它对应于该行响应的最后一个值,并标识该响应来自哪一列,但我没有运气能够弄清楚这一点。
我希望从:
id X_1 X_2 X_3 X_4 X_5
1 1 1 3 5 NA NA
2 2 2 4 NA NA NA
3 3 5 5 6 5 3
4 4 6 6 NA NA NA
5 5 8 2 6 6 6
6 6 12 3 2 2 NA
对此:
id X_1 X_2 X_3 X_4 X_5 X_final X_final_location
1 1 1 3 5 NA NA 5 X_3
2 2 2 4 NA NA NA 4 X_2
3 3 5 5 6 5 3 3 X_5
4 4 6 6 NA NA NA 6 X_2
5 5 8 2 6 6 6 6 X_5
6 6 12 3 2 2 NA 2 X_4
4条答案
按热度按时间hfyxw5xn1#
您可以使用以下命令按行查找最后出现的(非空)值的索引,
然后你可以得到这些索引的值并进行赋值,
给出,
iswrvxsc2#
以下是tidyverse的方法:
vvppvyoh3#
我们可以使用
tail
来获取最后一个元素,x[!is.na(x)]
只查找非空值。apply
是在数据的每一行中应用函数。退货:
hzbexzde4#
编号
输出