r语言中怎么把两个随机变量合并成一个

Python0201

r语言中怎么把两个随机变量合并成一个,第1张

ggplot2:不用说,画图神器

reshape2:变形,整合

stringr:处理字符串

lubridate:处理时间

RODBC:链接数据

plyr:拆分,合并,重组。

knitr:谢益辉,自动化报告包

ggmap:ggplot2+map的一个包,主要用来画地图,但是ggplot2的功能也都有

animation:谢益辉,动画包

formatR:谢益辉,整理代码的包

googleVis:利用google的API,可以生成动态气泡图之类

data.table:大的数据,用它取子集等,不怎么会。

R语言的merge函数可以实现类似SQL的有点类似 left join right join 或者类似union的效果。

执行merge函数时,函数自动会找到两个数据框df1和df2共有的列,即id那一列(即相当于by= "id"),当参数all= FALSE时,会将两个数据框中该列数值相等的那些行输出来,类似于对这两个数据框的id这一列求交集(intersection)。此例中是id为2或7这两行。此外,还可以发现df1和df2的输入顺序不会影响最终结果,仅仅会影响输出结果中heights和weights这两列的顺序。

更详细可以参考 http://rstudio-pubs-static.s3.amazonaws.com/13602_96265a9b3bac4cb1b214340770aa18a1.html

by参数的使用

上面的示例中by参数只有一个值,如果有两个数值(即长度为2的向量),也就是两个数据框中有共同的两列。

为两个数据框分别添加一列后,这样它们就有了共同的两列。当运行merge函数后发现,函数会自动找到共同的列,然后找到id和sex这两列中共有的数值。此外,如果只设定by= "id"的话,则两数据框中共有的sex那一列则会以sex.x和sex.y形式输出。

如果空的地方用NA 表示的话,那么就可以用如下编码实现

假设 第一组数据是 a1  第二组数据是a2, 他们的行数是一致的!

index<- is.na(a1)

a1[index] <- a2[index]

# here is a example

a1<-c(1,NA,3,NA,5,6,NA,8,9,10)

a1

a2<- 1:10

a2

length(a1)

length(a2)

index<-is.na(a1)

a1[index]<-a2[index]

a1

结果截图:

不知道是不是你想要的结果~

如果你能提供数据结构的话,我或许可以更加明确的提供方法!