r语言数据分析如何找出两列中处于同一行且数据相同的元素

没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!苹果/安卓/wp
积分 35, 距离下一级还需 10 积分
道具: 涂鸦板, 彩虹炫, 雷达卡, 热点灯下一级可获得
道具: 显身卡, 匿名卡, 金钱卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 变色卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
现在有两个data.frame 每个两列,完成的功能是在第2个data.frame第一列找到在第1个data.fram第一列出现的元素,对应地取出第2个data.fram第2列的值,然后合并到第2个data.frame第3列。不要用循环,请问R里有没相关函数。R新手虚心求教!!!
我是这么猜测你的描述的哈:两个数据库: A,B
其中A的两列分别是&&x1、x2
B的两列分别是:&&x1、x3,
现在你想把相同的x1的值进行匹配嘛,可以考虑用 merge这个函数,比如你现在相把B的x3赋值到A中去,你用merge(A, B, all.x=T)就可以了。
但是我再仔细看你的描述,你是想将B中重复的值再复制成为新的一列,比如x4。
你可以采用这个方法:&&首先找到重复的值,然后呢,再用merge反赋值回去。
具体的操作如下:
&&xx&-A$x1& &#### 找到A中的名称
&&C&-B[B$x1%in%xx,]& & #### 在B中找到A中相同的名称的数据
&&#### 为了匹配,所以这时候你需要将C的名称进行相应修改,不然到时候可能会匹配错误。
&&names(C)&-c(&x1&,&x4&)
#### 然后再匹配就好了哈
d&-merge(B,C,all.x=T)
&&#### d数据就是按照你的要求,把在A中相同的x1的数据进行匹配到第三列了
######## 不用谢我,请叫我雷锋,呵呵呵呵呵!
总评分:&论坛币 + 10&
可以把两个data.frame 每个两列 合并。到一个data.frame。 然后,比较 。如果相同就取值。这样可以不。
you need the function merge()
here is an example:
data1&-data.frame(a=letters[1:3],b=1:3)
data1&-data.frame(a=letters[2:4],b=4:6)
merge(data1,data2,by='letter')& &## this shows only the intersection between two data
merge(data1,data2,by='letter',all.x=TRUE)&&##this shows all the certain column in data1
merge(data1,data2,by='letter',all.y=TRUE)&&##this shows all the certain column in data2
Also, if data1 and data 2 do not have the same column name like 'letter' you can try by.x by.y
More information,try ?merge
热心帮助其他会员
总评分:&论坛币 + 15&
shenyu2070 发表于
我是这么猜测你的描述的哈:两个数据库: A,B
其中A的两列分别是&&x1、x2
B的两列分别是:&&x1、x3,谢谢!雷锋!!
katymeala 发表于
you need the function merge()
here is an example:谢谢!
shenyu2070 发表于
我是这么猜测你的描述的哈:两个数据库: A,B
其中A的两列分别是&&x1、x2
B的两列分别是:&&x1、x3,谢谢!雷锋!!
jackylee2010 发表于
可以把两个data.frame 每个两列 合并。到一个data.frame。 然后,比较 。如果相同就取值。这样可以不。已经用自己的方法解决,还是谢谢你!
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师如何用R语言匹配两个表的数据? - 知乎64被浏览<strong class="NumberBoard-itemValue" title="1分享邀请回答31 条评论分享收藏感谢收起

我要回帖

更多关于 r语言导入数据 的文章

 

随机推荐