我有两个数据帧,我想基于一个公共列合并
[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)
我已经尝试过使用合并,这给了我同样的错误。
答案 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