问题描述
我已经成功添加了一个新的空白行1“ 24727.2”,但是我想将第[5]行“ state = 24727”中名为2009:2018的列2:11的值复制到第{{3 }}。然后,我只想将第1行中小于2016的列的值更改为NA,我似乎无法使用ifelse,mutate_at或mutate_each,replace_na()将重复/复制的数据复制/粘贴到行1“ 24727.2”中。 )或总结。感谢您的帮助或帮助。
library(dplyr)
library(tidyr)
library(tibble)
temp <- data %>%
group_by(year,state) %>%
summarise(mean.var3 = mean(var3)) %>%
spread(year,mean.var3) %>%
do(add_row(.,state=24727.2,.before=1)) %>%
print(temp)
解决方法
如果我们只对第一行感兴趣,可以使用replace
library(dplyr)
temp <- temp %>%
mutate(across(where(is.numeric),~ replace(.,1,.[2])))
或与base R
temp[1,-1] <- temp[2,-1]