2017-06-21 72 views
0

我想通過引用表來替換列名稱。通過引用R中的表文件替換列名稱

以下是我的問題。

data <- read.table(textConnection(" 
    a b c d e 
row1 1 2 3 4 5 
"), header = TRUE) 


Newtitle <- read.table(textConnection(" 
id id2 
a kitty 
d oren 
g dyron 
"), header = TRUE) 

如果新標題$ ID匹配,在數據的列名,

那麼我想更換新標題由$ ID2數據的列名,否則只保留原來的列名。

kitty b c oren e 
row1 1 2 3 4 5 

有什麼提示嗎?

回答

1

需要注意因素和字符之間的差異。

Newtitle$id <- as.character(Newtitle$id) 
Newtitle$id2 <- as.character(Newtitle$id2) 
rownames(Newtitle) <- Newtitle$id 
replaced <- names(data) %in% Newtitle$id 
names(data)[replaced] <- Newtitle[names(data)[replaced], "id2"]