【发布时间】:2019-03-28 22:02:22
【问题描述】:
我正在尝试用更具描述性的标签替换数据框中的一些(但不是全部)列名。 我有一个带有长名称的向量,需要匹配和替换当前相关的列名。
更详细的:
我有一个包含文本和数字列的数据框。 例如
df<-data.frame(text1=c("nnnn","uuuu","ooo"),
text2=c("b","t","eee"),
a1=c(1,2,3),
a2=c(45,43,23),
b1=c(43,6,2),
text3=c("gg","ll","jj"))
所以它看起来像这样:
df
text1 text2 a1 a2 b1 text3
1 nnnn b 1 45 43 gg
2 uuuu t 2 43 6 ll
3 ooo eee 3 23 2 jj
对于某些列标签,我还有一个较长标签的向量:
longnames=c("a1 age","a2 gender","b1 postcode")
如果有匹配的长名称,我想完全替换df中对应的短名称。所以我想要的输出是:
text1 text2 a1 age a2 gender b1 postcode text3
1 nnnn b 1 45 43 gg
2 uuuu t 2 43 6 ll
3 ooo eee 3 23 2 jj
所有需要替换的短标签都与相关长标签的开头唯一匹配。也就是说,短标签“a2”需要替换成长标签“a2 gender”,而这个长标签是唯一以“a2"。
【问题讨论】:
标签: r