合并R中的数据帧

时间:2013-10-01 09:33:37

标签: r merge

我有两个数据帧,我想基于一个公共列合并

 [dataset A][http://public.justcloud.com/dldzm0fnsp.4540049] 

 [dataset B][http://public.justcloud.com/dldzmx1758.4540049]

使用

    merged terms <- dd_B[dd_B$GOBPID %in% dd_A$GOBPID,]

给我以下错误

    <0 rows> (or 0-length row.names)

我已经尝试过使用合并,这给了我同样的错误。

1 个答案:

答案 0 :(得分:2)

我将猜测你在这些文件上使用了read.csv。但是,如果您在一个不错的文本编辑器中打开文件,您会发现这些文件实际上是制表符分隔的文件,因此更合适的工具是read.delim

这就是我的所作所为:

df1 <- read.delim("~/Downloads/dd_a.csv", strip.white = TRUE)
df2 <- read.delim("~/Downloads/dd_B.csv", strip.white = TRUE)
out <- merge(df2, df1)

head(out)
#       GOBPID Pvalue OddsRatio ExpCount Count Size                                         Term
# 1 GO:0000038  0.036     7.008        0     2   49 very long-chain fatty acid metabolic process
# 2 GO:0006412  0.013     2.704        3     8  510                                  translation
# 3 GO:0006413  0.001    11.556        0     4   62                     translational initiation
# 4 GO:0006414  0.022     9.417        0     2   37                     translational elongation
# 5 GO:0006448  0.036    32.723        0     1    6       regulation of translational elongation
# 6 GO:0006457  0.041     2.753        2     5  308                              protein folding