全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2032 4
2020-04-03
悬赏 10 个论坛币 已解决
求助,我有一个txt格式的目标数据框(library.txt),数据格式如下(仅举例,真实数据是无序的):

library.txt:

a    b
1    10
2    9
3    8
4    7
5    6
6    5
7    4
8    3
9    2
10  1

现在我想根据a列中的某几个数据,提取library.txt中的某几行,因实际应用中可能有好几百个索引数据,所以这些数据必须以单列数据框(index.txt)的形式存在:

index.txt:

a
3
6
9
1

最后期望得到的是如下的result.txt:

a    b
3    8
6    5
9    2
1    10


检索了网上很多资料,但都没有解决问题,请大神们帮助,谢谢!

最佳答案

llb_321 查看完整内容

library(dplyr) index
二维码

扫码加我 拉你入群

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

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

全部回复
2020-4-3 10:14:37
library(dplyr)
index<-read.delim("index.txt",sep="\t")
lib<-read.delim("library.txt",sep=" ")
result<-index%>%select(a)%>%left_join(lib,by="a")
write.table(result,file="result.txt",row.names=F,quote=F)
二维码

扫码加我 拉你入群

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

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

2020-4-3 12:18:29
llb_321 发表于 2020-4-3 11:15
library(dplyr)
index
您好,运行到 result<-index%>%select(a)%>%left_join(lib,by="a") 一步时,出现错误:

错误: Must subset columns with a valid subscript vector.
x The subscript has the wrong type `data.frame<a:factor<95a56>>`.
i It must be numeric or character.

您能帮看看是怎么回事吗?
二维码

扫码加我 拉你入群

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

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

2020-4-3 12:20:17
llb_321 发表于 2020-4-3 11:15
library(dplyr)
index
我的index.txt里面,需要匹配的字符不是单纯的数字,而是类似”miR-4711-5p“这样的有字母的
二维码

扫码加我 拉你入群

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

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

2020-4-3 12:25:29
llb_321 发表于 2020-4-3 11:15
library(dplyr)
index
问题解决了,是我自己修改代码时出了错误,非常感谢您的帮助!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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