2016-08-14 40 views
0

我有一个数据框(summary_transposed_no_time),我想将其中一列重命名为我作为值存储的名称。使用来自全局环境中的值重命名数据框中的列R

summary_transposed_no_time看起来是这样的:

 | A  | B  | C  | D 
------ | ------ | ------ | ------ | ------ 
area_1 | 0.870 | 0.435 | 0.968 | 0.679 
area_2 | 0.456 | 0.259 | 0.906 | 0.467 
area_3 | 0.298 | 0.256 | 0.457 | 0.768 
area_4 | 0.994 | 0.987 | 0.365 | 0.765 

我的值称为测试,它被设置为“B”,所以我一直在使用下面的代码,没有运气尝试:

summary_transposed_no_time <- names(summary_transposed_no_time)[c(test_col)]<-c("test") 

欲望输出

 | A  | test | C  | D 
------ | ------ | ------ | ------ | ------ 
area_1 | 0.870 | 0.435 | 0.968 | 0.679 
area_2 | 0.456 | 0.259 | 0.906 | 0.467 
area_3 | 0.298 | 0.256 | 0.457 | 0.768 
area_4 | 0.994 | 0.987 | 0.365 | 0.765 
+0

喜宋哲元李 - 抱歉,我忘了每一个我运行的代码,所以我不能硬编码的时候提到,该列将在不同的位置帧内的列位置。另外,如何在我的问题中输入我的表格以便它们不需要任何后续格式?谢谢 –

回答

2

我认为你需要(我已经取代summary_transposed_no_timex

names(x)[match(test_col, names(x))] <- "test" 

x <- trees[1:5, ] 
# Girth Height Volume 
#1 8.3  70 10.3 
#2 8.6  65 10.3 
#3 8.8  63 10.2 
#4 10.5  72 16.4 
#5 10.7  81 18.8 

names(x)[match("Girth", names(x))] <- "test" 
# test Height Volume 
#1 8.3  70 10.3 
#2 8.6  65 10.3 
#3 8.8  63 10.2 
#4 10.5  72 16.4 
#5 10.7  81 18.8 
相关问题