全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1644 3
2016-10-12
有两个csv文件,一个data.csv,数据大概是这样
         name    English   Math  Gender  
1        xs           52       84        F
2        ab           34       23       F
3       bc           56       54        M
4......     共60个数据行;
另外一个是student.csv,只有一列,是name,但只有10行
        name
1   xs
2   cd
.....有10个名字
我想把data中的数据按照student中的name顺序筛选出来,并且按照student中的顺序排列,不要按照字母顺序
newdata<-subset(data,data$name%in%student)
但是选出来的newdata中name是乱序的,不是按照原来student中的顺序的,不知道有什么办法能够保留原来student中的顺序呢

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-10-12 20:29:26
第一,你抽取的newdata应该为
复制代码

再是你需要编一个小程序,如下:
复制代码

这样就抽取出来了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-12 21:01:31
刚才一个代码写错了,现在改过来了[lol]
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-13 07:23:50
我自己后来想了个办法,在student中添加了一列Num按照1-10编号数字,然后用merge函数筛选
newdata<-merge(data,student,by="name",all.y=T)
之后再按照Num这列进行排序就可以了
newdata<-newdata[order(newdata$Num),]
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群