楼主: dianbashuanga
1995 4

[问答] 请问如何根据a列的某几个数据,提取目标数据框(含ab两列)的对应行 [推广有奖]

  • 0关注
  • 0粉丝

初中生

4%

还不是VIP/贵宾

-

威望
0
论坛币
974 个
通用积分
0
学术水平
1 点
热心指数
0 点
信用等级
1 点
经验
82 点
帖子
6
精华
0
在线时间
13 小时
注册时间
2017-5-23
最后登录
2021-9-6

楼主
dianbashuanga 发表于 2020-4-3 10:14:36 |AI写论文
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
已有 1 人评分论坛币 学术水平 信用等级 收起 理由
llb_321 + 5 + 1 + 1 解决问题就好,我不需要论坛币

总评分: 论坛币 + 5  学术水平 + 1  信用等级 + 1   查看全部评分

沙发
llb_321 在职认证  发表于 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)
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
dianbashuanga + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
dianbashuanga 发表于 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.

您能帮看看是怎么回事吗?

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

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

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 00:41