【发布时间】:2020-10-23 01:45:06
【问题描述】:
我已经合并了几个数据框,并且标题不够清晰。我需要将它们从 'Indicator' 更改为 'NEWNAMES'
我创建的数据框称为 new_names 并遵循以下模式:
**NEWNAME** **Indicator**
Housing price Indicator1
Water Stress WSL
需要更改的数据框是“WS_MAT”,如下所示
Country Year Indicator1 EMP.c WSL
FR 2015 22 23 23
USA 2019 1000 513 55
我试过了
colnames(WS_MAT) <- ifelse(colnames(WS_MAT)==new_names$Indicator,new_names$NEWNAME, colnames(WS_MAT))
但我收到一条错误消息: dimnames(x)
对不起,我的电脑是法语的,但据我了解,它将 colnames 视为一个函数。如果您有任何建议,请告诉我!谢谢。
【问题讨论】:
-
您的问题已在stackoverflow.com/questions/20987295/… 得到解答。我个人会同意 Gorka 的回答,但这只是个人喜好。
-
嘿@Rmematey,谢谢你的举报。我有几个问题。我的表格不是数据框,当我转换它时,它会改变我的标题格式,例如我的标题变成了 My.title 。我也在寻找有条件的替换,因为 new_names 表的长度与要替换的列标题不同,并且有空单元格。
-
我不确定我理解你的意思,你认为你可以创建一个可重现的例子吗?
-
实际上,我进一步查看了您提供的链接的答案,而乔伊的回答 stackoverflow.com/a/36010381/4606130 解决了我的部分问题。我的数据框 WS_MAT 有 235 列。我想做一个有条件的替换是因为名称替换表有空单元格。例如。 Newname Indicator 医学毕业生 MEDICALGRAD NA NURSEGRAD