【发布时间】:2022-06-14 11:58:33
【问题描述】:
我想通过数据框 2 (df2) 将我的数据 (df1) 子集到 column1。我尝试使用以下代码。
df_test <-subset(df1,column1 %in% df2) 但df_test 显示为空,只有标题。这很奇怪,因为 rsid column1 中有可用的匹配项。我在哪里做错了。
这里是df1
df1
V1 column1 column2
1 frequentist_add_pvalue rs rs
2 0.491928 3:146000342 146000342
3 0.05273 3:146000346 146000346
4 0.251884 3:146000581 146000581
5 0.805684 3:146001334 146001334
6 0.252178 3:146001523 146001523
而df2 看起来像这样。
column1 column2
3:146000346 146000346
3:146000582 146000582
3:146001335 146001335
3:146001523 146001523
编辑:
DF1 = df1[-1,]
dput(DF1[1:7, ])
structure(list(V1 = c("3", "3", "3", "3", "3", "3", "3"), V2 = c("146000342",
"146000346", "146000581", "146001334", "146001523", "146001816",
"146002091"), V3 = c("3:146000342_G_A", "3:146000346_T_C", "3:146000581_A_T",
"3:146001334_G_A", "3:146001523_G_A", "3:146001816_A_G", "3:146002091_G_T"
), V4 = c("0.00181023", "0.00553354", "0.0784274", "0.0113356",
"0.0784285", "0.0912646", "0.00165194"), V5 = c("0.491928", "0.05273",
"0.251884", "0.805684", "0.252178", "0.252487", "0.570828"),
column1 = c("3:146000342", "3:146000346", "3:146000581",
"3:146001334", "3:146001523", "3:146001816", "3:146002091"
), column2 = c("146000342", "146000346", "146000581", "146001334",
"146001523", "146001816", "146002091")), row.names = 2:8, class = "data.frame")
dput(df2[1:2, ])
c("1:100724467", "1:154548946")
> summary(DF1)
V1 V2 V3
Length:5464441 Length:5464441 Length:5464441
Class :character Class :character Class :character
Mode :character Mode :character Mode :character
V4 V5 column1
Length:5464441 Length:5464441 Length:5464441
Class :character Class :character Class :character
Mode :character Mode :character Mode :character
column2
Length:5464441
Class :character
Mode :character
> summary(df2)
column1
Length:10633
Class :character
Mode :character
【问题讨论】:
-
你叫
rsid是df2吗? -
是的。也做了编辑。
-
并且
df1确实有列名column1和column2,但是第一行的值是"frequentist_add_pvalue"、rs和rs?因为第一行是非数字的可能会弄乱你所有的列类。也许您需要在导入df1时添加skip = 1或其他内容才能正确导入。 -
由于列类问题可能是问题的一部分,您愿意与
dput共享数据以便我们查看类和结构信息吗?dput(df1[1:6, ])和dput(df2[1:4, ])? -
@GregorThomas 感谢您的回复。这是我的实际数据的输入