我很难在另一个数据帧的底部添加一个数据帧。将一个数据帧添加到R中另一个数据帧的末尾
我有一个数据框(我们称之为DF1)有1行5列。我有另一个数据框(让我们称之为DF2)有50行和5列。我将它设置为使得两个数据框之间的列匹配 - 它们具有相同的列。实际上,DF1是基于DF2的计算。
这是DF1样子:
row.names pt1 pt2 pt3 pt4
calc 0.93 0.45 0.28 0.54
这是DF2的样子:
row.names pt1 pt2 pt3 pt4
SNP1 AA AG AG AA
SNP2 CT CT TC CC
SNP3 GG CG CG <NA>
SNP4 AA GG AG AA
SNP5 <NA> <NA> <NA> <NA>
DF1应该是实际的数据点的数量(#值,也就是不会丢失)除以可能值的总数。
所以..我想DF1添加到DF2的底部看起来像这样:
row.names pt1 pt2 pt3 pt4
SNP1 AA AG AG AA
SNP2 CT CT TC CC
SNP3 GG CG CG <NA>
SNP4 AA GG AG AA
SNP5 <NA> <NA> <NA> <NA>
calc 0.93 0.45 0.28 0.54
,当我试图使用
both.dfs <- rbind(DF1, DF2) # DF1 is first here
DF1是DF2的第一行。我需要它是最后一排。
,当我试图使用
both.dfs <- rbind(DF2, DF1) # DF2 is first here
我得到一个错误:
Warning messages:
1: In `[<-.factor`(`*tmp*`, iseq, value = 0.84) :
invalid factor level, NAs generated
2: In `[<-.factor`(`*tmp*`, iseq, value = 0.84) :
invalid factor level, NAs generated
3: In `[<-.factor`(`*tmp*`, iseq, value = 0.84) :
invalid factor level, NAs generated
4: In `[<-.factor`(`*tmp*`, iseq, value = 0.74) :
invalid factor level, NAs generated
我试图合并,我已经尝试添加一个新行DF2,然后在值胶层DF2..nothing似乎工作!我迫切需要一些帮助!任何人?
简短的回答是,你不能(或者至少你不应该“T)。数据帧的列必须都是原子向量(即相同的数据类型),并且您试图混合使用数字(DF1)和字符/因子(DF2)。 – joran 2012-04-27 22:30:07
如果DF2的列是字符而不是因素,它将“工作”。但你仍然应该找到一种不同的方式来链接这些数据集。 – joran 2012-04-27 22:34:24