R 合并多个具有不同编号或行的数据帧
我正在尝试合并两个具有不同行数的数据帧。我只想显示两个数据帧的头部和尾部,因为它们都有上百行。两个数据框都属于miRNA表达分析,如下所示。两个数据帧只有两行不同 数据帧1(miRNAs_256c) 数据帧2(miRNAs\u屏蔽) 我需要将两者合并到一个中,只保留列的标题,还希望保留读取计数为0的标题 我尝试了几种方法,但都没有达到我的预期效果。首先,我尝试了R 合并多个具有不同编号或行的数据帧,r,R,我正在尝试合并两个具有不同行数的数据帧。我只想显示两个数据帧的头部和尾部,因为它们都有上百行。两个数据框都属于miRNA表达分析,如下所示。两个数据帧只有两行不同 数据帧1(miRNAs_256c) 数据帧2(miRNAs\u屏蔽) 我需要将两者合并到一个中,只保留列的标题,还希望保留读取计数为0的标题 我尝试了几种方法,但都没有达到我的预期效果。首先,我尝试了cbind,但由于行号不同而出错 prueba <- cbind (miRNAs_256c, miRNAs_shield) 之后
cbind
,但由于行号不同而出错
prueba <- cbind (miRNAs_256c, miRNAs_shield)
之后,我尝试了来自plyr
的函数join
,其中包含参数类型的所有值
dat_join <- join(miRNAs_256c, miRNAs_shield, type = "full")
dat\u join我认为有点不清楚,例如,您希望如何进行合并,以及您的数据帧如何相似。在data.frame
s等中是否可以找到相同的miR
无论如何,我首先阅读了您提供的数据:
df1 <- read.table(text = "
miRNA read_count precursor total seq X256c_norm
1 dre-miR-21 13309 dre-mir-21-2 13309 13309 550709,65
2 dre-miR-181a-5p 1004 dre-mir-181a-1 1004 1004 41544,25
3 dre-miR-181a-5p 927 dre-mir-181a-2 927 927 38358,09
4 dre-miR-181c 592 dre-mir-181c 592 592 24496,21
5 dre-miR-181b 579 dre-mir-181b-2 579 579 23958,29
6 dre-miR-181b 561 dre-mir-181b-1 561 561 23213,47
160 dre-miR-7149-5p 0 dre-mir-7149 0 0 0
161 dre-miR-723-5p 0 dre-mir-723 0 0 0
162 dre-miR-727-5p 0 dre-mir-727 0 0 0
163 dre-miR-730 0 dre-mir-730 0 0 0
164 dre-miR-735 0 dre-mir-735 0 0 0
165 dre-miR-740 0 dre-mir-740 0 0 0")
df1@user3523842正常。因此,假设您希望输出行6和7仅为一行。那么在read\u count
列中您想要什么数字?现在的情况是,R仅在read\u count
在data.frame
s中一致时合并行。编辑遗憾的是,你删除了你的评论。你能解开它吗?对,这就是为什么我只有34排。同样,正如您所注意到的,在两个数据帧中,我们都可以找到存在于两个数据帧中的mir。你得到的输出看起来很好,对我很有用,我想我可以完美地使用它。非常感谢您的帮助和早日答复。利奥纳多。
myList <- list (miRNAs_256c, miRNAs_shield)
dat <- data.frame ()
for(i in seq(along=myList))for(j in names(myList[[i]]))dat[i,j] <- myList[[i]][j]
dat
dat <- merge (miRNAs_256c, miRNAs_shield, ALL=TRUE)
dat_join <- join(miRNAs_256c, miRNAs_shield, type = "full")
dat_join <- join(miRNAs_256c, miRNAs_shield, type = "left")
df1 <- read.table(text = "
miRNA read_count precursor total seq X256c_norm
1 dre-miR-21 13309 dre-mir-21-2 13309 13309 550709,65
2 dre-miR-181a-5p 1004 dre-mir-181a-1 1004 1004 41544,25
3 dre-miR-181a-5p 927 dre-mir-181a-2 927 927 38358,09
4 dre-miR-181c 592 dre-mir-181c 592 592 24496,21
5 dre-miR-181b 579 dre-mir-181b-2 579 579 23958,29
6 dre-miR-181b 561 dre-mir-181b-1 561 561 23213,47
160 dre-miR-7149-5p 0 dre-mir-7149 0 0 0
161 dre-miR-723-5p 0 dre-mir-723 0 0 0
162 dre-miR-727-5p 0 dre-mir-727 0 0 0
163 dre-miR-730 0 dre-mir-730 0 0 0
164 dre-miR-735 0 dre-mir-735 0 0 0
165 dre-miR-740 0 dre-mir-740 0 0 0")
df2 <- read.table(text = "
miRNA read_count precursor total seq shield_norm
1 dre-let-7a 424 dre-let-7a-1 424 424 72939,96
2 dre-let-7a 397 dre-let-7a-6 397 397 68295,2
3 dre-let-7a 371 dre-let-7a-5 371 371 63822,47
4 dre-let-7a 367 dre-let-7a-3 367 367 63134,35
5 dre-miR-21 345 dre-mir-21-2 345 345 59349,73
6 dre-let-7a 343 dre-let-7a-2 343 343 59005,68
162 dre-miR-723-5p 0 dre-mir-723 0 0 0
163 dre-miR-727-5p 0 dre-mir-727 0 0 0
164 dre-miR-730 0 dre-mir-730 0 0 0
165 dre-miR-731 0 dre-mir-731 0 0 0
166 dre-miR-735 0 dre-mir-735 0 0 0
167 dre-miR-740 0 dre-mir-740 0 0 0")
merge(df1, df2,
by = c("miRNA", "read_count", "precursor", "total", "seq"),
all = TRUE)
# miRNA read_count precursor total seq X256c_norm shield_norm
#1 dre-miR-181a-5p 927 dre-mir-181a-2 927 927 38358,09 <NA>
#2 dre-miR-181a-5p 1004 dre-mir-181a-1 1004 1004 41544,25 <NA>
#3 dre-miR-181b 561 dre-mir-181b-1 561 561 23213,47 <NA>
#4 dre-miR-181b 579 dre-mir-181b-2 579 579 23958,29 <NA>
#5 dre-miR-181c 592 dre-mir-181c 592 592 24496,21 <NA>
#6 dre-miR-21 345 dre-mir-21-2 345 345 <NA> 59349,73
#7 dre-miR-21 13309 dre-mir-21-2 13309 13309 550709,65 <NA>
#8 dre-miR-7149-5p 0 dre-mir-7149 0 0 0 <NA>
#9 dre-miR-723-5p 0 dre-mir-723 0 0 0 0
#10 dre-miR-727-5p 0 dre-mir-727 0 0 0 0
#11 dre-miR-730 0 dre-mir-730 0 0 0 0
#12 dre-miR-735 0 dre-mir-735 0 0 0 0
#13 dre-miR-740 0 dre-mir-740 0 0 0 0
#14 dre-let-7a 343 dre-let-7a-2 343 343 <NA> 59005,68
#15 dre-let-7a 367 dre-let-7a-3 367 367 <NA> 63134,35
#16 dre-let-7a 371 dre-let-7a-5 371 371 <NA> 63822,47
#17 dre-let-7a 397 dre-let-7a-6 397 397 <NA> 68295,2
#18 dre-let-7a 424 dre-let-7a-1 424 424 <NA> 72939,96
#19 dre-miR-731 0 dre-mir-731 0 0 <NA> 0