根据 R 中的列名创建一个新数据框,其中包含来自另一个数据框的列

Posted

技术标签:

【中文标题】根据 R 中的列名创建一个新数据框,其中包含来自另一个数据框的列【英文标题】:create a new data frame with columns from another data frame based on column names in R 【发布时间】:2019-12-12 14:05:04 【问题描述】:

数据框 A 存在。

我想创建数据框 B 并在数据框 B 中插入数据框 A 中的某些列。

我不想使用列号,而是使用列名来做到这一点

非常感谢!!!!

【问题讨论】:

insert certain columns 这些特定列必须由索引或实际列名本身标识dataB <- dataA[, c("col1", "col3", "col5")] 【参考方案1】:

如果没有模式,我们可以使用列名的子集

dataB <- dataA[, c("P1", "xyz", "acdc")]

或者如果有一些基于索引的列名序列,则使用位置索引对列名进行子集化并使用它来选择列

dataB <- dataA[, colnames(dataA)[c(1,2,4,5,6,7,8,9,10,40,43,46,47,48,49)]]

为方便起见,所有序列都可以缩写为:

dataB <- dataA[, colnames(dataA)[c(1:2, 4:10, 40, 43, 46:49)]]

【讨论】:

以上是关于根据 R 中的列名创建一个新数据框,其中包含来自另一个数据框的列的主要内容,如果未能解决你的问题,请参考以下文章

如何根据一个数据帧中的列值和R中另一个数据帧的列标题名称有条件地创建新列

R:根据列表元素名称创建新的数据框变量

Pandas 根据另一个数据框中的匹配列填充新的数据框列

如何根据 R 中的另一个数据帧解码一个数据帧中变量的值?

根据 dplyr 与另一个数据框的匹配更改数据框中的列名

R:识别数据框中的列名是不是包含字符串