我有一个像下面这样的df
。我想用col名称的第一个字母更新none NA值,然后将A1:B5粘贴在一起。这是一个聪明的方法吗?也许是像mutate across这样的方法?
df<-structure(list(ID = c("Tom", "Jerry", "Kate"), A1 = c(NA, 78,
NA), A2 = c(NA, NA, NA), A3 = c(NA, NA, 25), A4 = c(96, NA, NA
), A5 = c(NA, NA, NA), B1 = c(NA, NA, 74), B2 = c(NA, NA, NA),
B3 = c(NA, NA, NA), B4 = c(98, NA, NA), B5 = c(NA, NA, NA
)), row.names = c(NA, -3L), class = c("tbl_df", "tbl", "data.frame"
))
3条答案
按热度按时间b1uwtaje1#
lnxxn5zx2#
你可以试试Base R的解决方案:
vhmi4jdf3#
这变成了一个很长的管道。注意,在
paste
中使用collapse=
!这是汇总多行的技巧。如果你不想包含前导字母,有一个简单的
unite
方法。更改remove=T
以保留现有的列。