我正在使用R tidyverse,我有一个类似下面代码的tibble,我试图基于其他列的值创建output_column,数据来自最后一个非空列加上NA(如果在output_column之前有NA列)。
library(tidyverse)
test_df <-
tibble(kingdom = rep("bacteria",6),
phylum = c(NA, "sterp", rep("entro", 4)),
class = c(rep(NA, 2), rep("abc",4)),
order= c(rep(NA,3), rep("cde", 3)),
family= c(rep(NA,4), rep("xyz", 2)),
genus= c(rep(NA,5), "sam"),
output_column = c("bacteria_NA", "sterp_NA", "abc_NA", "cde_NA", "xyz_NA", "sam" ))
2条答案
按热度按时间3gtaxfhh1#
可以按如下方式使用
row_wise()
和c_across()
:输出:
另一种方法是将
last()
函数与apply()
一起使用:b1zrtrql2#
这里我们可以使用
coalesce
数据