【问题标题】:subsetting data frame in R with different string用不同的字符串对R中的数据框进行子集化
【发布时间】: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

【问题讨论】:

  • 你叫rsiddf2吗?
  • 是的。也做了编辑。
  • 并且df1 确实有列名column1column2,但是第一行的值是"frequentist_add_pvalue"rsrs?因为第一行是非数字的可能会弄乱你所有的列类。也许您需要在导入df1 时添加skip = 1 或其他内容才能正确导入。
  • 由于列类问题可能是问题的一部分,您愿意与dput 共享数据以便我们查看类和结构信息吗? dput(df1[1:6, ])dput(df2[1:4, ])?
  • @GregorThomas 感谢您的回复。这是我的实际数据的输入

标签: r dataframe grep subset


猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-04
  • 1970-01-01
  • 1970-01-01
  • 2022-08-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多