我试图格式化数据文件,但我的问题是一些文件包含比其他更多的变量.我想更改列名以适合我的主数据文件.
例如
df <- data.frame(
f =c(111,123,128),
w = c(99,84,102),
s = c(122,105,112) )
Run Code Online (Sandbox Code Playgroud)
返回
f w s
1 111 99 122
2 123 84 105
3 128 102 112
Run Code Online (Sandbox Code Playgroud)
为了重命名我做的列:
rename_df <- df %>% rename(Fall=f,Winter=w, Spring=s)
Run Code Online (Sandbox Code Playgroud)
我的问题是,一些数据文件只有Fall,有些来自秋天和冬天,有些来自全部3,或者你能想到的任何组合.我试图找出R是否还有寻找"f","w","s",当它找到其中一个列名时,它会将其更改为相应的文本("Fall","Winter" ,"春天")当列的一次不存在时,它就会忽略它.我正在尝试制作一个代码,一旦数据文件进来,我就可以通过该代码运行它,它将返回给我一个df,并更改了相应的列.
谢谢
即使df有指定列名的子集,这也可以工作:
L <- list(f = "Fall", w = "Winter", s = "Spring")
names(df) <- L[names(df)]
Run Code Online (Sandbox Code Playgroud)