R-基于列名替换数据框列

R-基于列名替换数据框列,r,R,我对R非常陌生,过去使用了大量Stackoverflow搜索来解决许多问题,但无法找到当前问题的解决方案: 我想用另一个包含基于匹配列名的度量数据的数据框的列替换空数据框的列。为了说明该问题,以下是一些示例数据: #sample data set.seed (543) input <- data.frame(replicate(6,sample(0:100,20,rep=TRUE))) colnames(input) <- c("Time", "C2", "B1", "A1","A2

我对R非常陌生,过去使用了大量Stackoverflow搜索来解决许多问题,但无法找到当前问题的解决方案:

我想用另一个包含基于匹配列名的度量数据的数据框的列替换空数据框的列。为了说明该问题,以下是一些示例数据:

#sample data
set.seed (543)
input <- data.frame(replicate(6,sample(0:100,20,rep=TRUE)))
colnames(input) <- c("Time", "C2", "B1", "A1","A2", "A3") #no specific order predictable here

#create empty data frame 
test <- data.frame(matrix(0, ncol = 10, nrow = nrow(input)))
colnames(test) <- c("Time", "A1", "B1", "C1","A2", "B2", "C2","A3", "B3", "C3")
但是当我简单地使用索引向量将测量数据帧复制到空帧中时

test[,matching] <- input[,1:ncol(input)]

test[,matching]查看您的匹配值,一切正常,您只需反转匹配参数:)

这将有助于:

matching <- match(colnames(input),colnames(test))

匹配确保使用
test[,colnames(输入)]
matching <- match(colnames(input),colnames(test))
test[,names(input)] <- input