我想通过引用表来替换列名。
以下是我的问题。
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)
如果Newtitle $ id与数据中的列名匹配,
然后我想用Newtitle $ id2替换数据的列名,否则只保留原始列名。
kitty b c oren e
row1 1 2 3 4 5
有任何提示吗?
答案 0 :(得分: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"]