gpt4 book ai didi

r - 如何比较 R 中两个单独数据框的列名?

转载 作者:行者123 更新时间:2023-12-04 01:11:31 25 4
gpt4 key购买 nike

我在 R 中有 2 个带有表观遗传数据的数据框。要将其中一个用作训练集,另一个用作 glmnet 包中的测试集,列号(如果它们必须匹配)。由于两个数据框都包含超过 800000 列,我正在寻找一种方法来比较 2 个数据框的名称列,以便我可以删除两者没有共同点的列。到目前为止,我刚刚找到了将两个数据帧的行相互比较的包和函数。
例如,我正在寻找这样的东西:

df1
participant_code cg123 cg122 cg121 cg120

df2
participant_code cg123 cg122 cg121 cg119
该功能会给我然后例如一个表格,其中显示了哪些 colnames 不同:
colname 5 differs
如果您对我的问题提出任何建议,或者就如何使我的帖子更易于理解提供反馈,我将不胜感激。

最佳答案

您正在寻找两个数据框的列名的交集。您可以简单地使用命令 intersect达到你想要的。首先,您提取两个数据框的名称。然后你使用 intersect . intersect的结果包含两个数据框中任意一个中的列名称。将此对象用于初始数据帧的子集,您就完成了。

# define data frames with dummy data
df1 <- data.frame(participant_code = 1,
cg123 = 2,
cg122 = 3,
cg121 = 4,
cg120 = 5)

df2 <- data.frame(participant_code = 6,
cg123 = 7,
cg122 = 8,
cg121 = 9,
cg119 = 10)

# extract column names of the data frames
cols_df_1 <- names(df1)
cols_df_2 <- names(df2)

# find the intersection of both column name vectors
cols_intersection <- intersect(cols_df_1, cols_df_2)

# subset the initial data frames
df1_sub <- df1[,cols_intersection]
df2_sub <- df2[,cols_intersection]

# print to console and see result
df1_sub
#participant_code cg123 cg122 cg121
# 1 2 3 4

df2_sub
#participant_code cg123 cg122 cg121
# 6 7 8 9

关于r - 如何比较 R 中两个单独数据框的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64698139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com