全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
6871 8
2016-01-09
   现有两个txt数据 a.txt和b.txt,其行数相同,列数相同,如下
    a.txt
name           maxlen        count           r        IDs
C13          741                  0           0          NR
P14     44                55        14.16946        NM
B1           555        41        2.244693        NM
L18           547        8        1.048337        NR

b.txt
name          maxlen        count          r        IDs
C13           915        0        0        NR
P14     1185        207        14.16946        NM
B1           795        22        2.244693        NM
L18           619        18        1.048337        NR


现在想筛选r值都>10的行
n0 = (a$count>10 & b$count>10)
sum(n0) #计算得到2个,即有P14和B1的r值同时>10,则该行是需要的


怎样将这需要的两行输出保存到另两个txt文件?
即得到
c.txt
name          maxlen        count          r        IDs
P14     44                55        14.16946        NM
B1           555        41        2.244693        NM

d.txt
name          maxlen        count          r        IDs
P14     1185        207        14.16946        NM
B1           795        22        2.244693        NM

二维码

扫码加我 拉你入群

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

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

全部回复
2016-1-9 20:20:27
你这个问题的解决思路:
目的:假定两个文件有一样的name,求出同一个name,count都大于10的行,分别保存。
思路:
1、把两个文件合并成一个新文件new
2、找到counts大于10的行,保存成文件result
3、找到有重复的行,保存成文件point,提取出name列(用函数duplicated)
4、用提取的name,分别在a.txt和b.txt提取结果为ac.txt和bc.txt。
代码如下:
复制代码
二维码

扫码加我 拉你入群

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

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

2016-1-9 20:43:55
嗯,你这个思路很正确,我后来用了直接粗暴的比较
c<-a[a$count>10 & b$count>10,]
d<-b[a$count>10 & b$count>10,]

write.csv(c,"C:/Users/JiangLi/Documents/R/c.csv")
write.csv(d,"C:/Users/JiangLi/Documents/R/d.csv")

我研究研究你的。

想追问一下,我想将a中的r值除以b中的r值,将结果数列导出,要怎么写?

十分感谢!!!1
二维码

扫码加我 拉你入群

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

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

2016-1-9 20:45:38
yijiaobani 发表于 2016-1-9 20:20
你这个问题的解决思路:
目的:假定两个文件有一样的name,求出同一个name,count都大于10的行,分别保存。 ...
嗯,你这个思路很正确,我后来用了直接粗暴的比较
c<-a[acount>10 & bcount>10,]
d<-b[acount>10 & bcount>10,]

write.csv(c,"C:/Users/JiangLi/Documents/R/c.csv")
write.csv(d,"C:/Users/JiangLi/Documents/R/d.csv")

我研究研究你的。

想追问一下,我想将a中的r值除以b中的r值,将结果数列导出,要怎么写?

十分感谢!!!1
二维码

扫码加我 拉你入群

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

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

2016-1-9 20:45:46
yijiaobani 发表于 2016-1-9 20:20
你这个问题的解决思路:
目的:假定两个文件有一样的name,求出同一个name,count都大于10的行,分别保存。 ...
嗯,你这个思路很正确,我后来用了直接粗暴的比较
c<-a[acount>10 & bcount>10,]
d<-b[acount>10 & bcount>10,]

write.csv(c,"C:/Users/JiangLi/Documents/R/c.csv")
write.csv(d,"C:/Users/JiangLi/Documents/R/d.csv")

我研究研究你的。

想追问一下,我想将a中的r值除以b中的r值,将结果数列导出,要怎么写?

十分感谢!!!1
二维码

扫码加我 拉你入群

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

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

2016-1-10 12:46:31
jiangli0405007 发表于 2016-1-9 20:45
嗯,你这个思路很正确,我后来用了直接粗暴的比较
c10 & bcount>10,]
d10 & bcount>10,]
那就用a$r/b$r ->result
save(result,file="d:/result.Rdata")就可以了吧
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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