当我尝试在dplyr中重命名多个列时,出现关于新名称的“找不到对象”错误。
我正在使用select创建一个新的数据框,然后我想更改4:8列的名称。
commute_mode<-select(commute,geoid,GEO.id2,display_label,HD01_VD26,HD01_VD37,HD01_VD68,HD01_VD113,HD01_VD125) %>%
rename(HD01_VD26 = drive, HD01_VD37 = carpool,HD01_VD68 = public_trans,HD01_VD113 = walk, HD01_VD125=bike_other)
但是我得到
Error in .f(.x[[i]], ...) : object 'drive' not found
答案 0 :(得分:2)
正如一些注释中所指出的那样,需要在SUM_JOB1 = g.Any(gs => gs.JOB1 != null) ? g.Sum(gs => gs.JOB1) : null
函数中交换变量的新名称和旧名称。
但是也要注意,您可以单独使用select()
来选择和重命名变量(如果保留所有列并仅重命名某些列,最好使用select()
)。因此,您只需拥有rename()
即可代替笨拙的mydata %>% select(old_var1, old_var2) %>% rename (new_var1 = old_var1, new_var2 = old_var2)
。就您而言,这看起来像:
mydata %>% select(new_var1 = old_var1, new_var2 = old_var2)
这是commute_mode <- commute %>% select(geoid, GEO.id2, display_label,
drive = HD01_VD26, carpool = HD01_VD37,
public_trans = HD01_VD68,
walk = HD01_VD113,
bike_other = HD01_VD125)
命令的重要功能,始终最好使内容尽可能简洁!
有关详细说明,您可以查看https://dplyr.tidyverse.org/reference/select.html