dplyr使用记录

library(dplyr)

tes = read.table("test.txt",header=T,check.names=F,sep="\t") 

match = read.table("snp150_hg19.txt",header=T,check.names=F,sep="\t")

need=dplyr::left_join(tes,match,by="chromosome:start")#通过chromosome:start列转换

write.table(need, file ="clean.txt", sep ="\t", row.names =FALSE, col.names =TRUE, quote =FALSE) 

1.dplyr

library(dplyr)
PD = read.table('PD_MATA_2019.txt',header = T,sep = '\t')
PD = mutate(PD,z=b/se)#PD增加一列z,并且z等于b/se

df1 = mutate(df,P=(0.1)^LP)#求-log10的反对数

library(dplyr)
library(tidyr)

df1=df%>%separate(ES.SE.LP.AF.ID,c('ES','SE','LP','AF','ID'),'[:]') #将ES.SE.LP.AF.ID列数据按:分列
need1=need%>%separate(chromosome:start,c('CHR','BP'),'[:]') #将chromosome:start列数据按:分列

need = tidyr::unite(need1,'CHR',chr,CHR,sep='_',remove=TRUE)#对need1中的chr和CHR合并,以’_‘为连接符,并去除原先的列
write.table(PD,file = 'PD_2019.txt',sep = '\t',row.names = F,quote = F)

tbl <- tbl %>% distinct(CHR, POS,.keep_all = TRUE) #根据CHR和POS列去重
tbl<-tbl[order(as.numeric(as.factor(tbl$CHR)),as.numeric(tbl$POS)),]#根据CHR和POS列去重排序

df1 <- apply(df1, 2, function(x) ifelse(x == "", NA, x))# 替换空白格为NA

df1$Chr = str_replace(df1$Chr,'chr','')#将df1中的Chr列中的chr去掉

 temp= temp %>% separate_rows(SNP, sep = ",")#将SNP列按','拆分,并写成新的一行。

df1 = df1 %>%separate_longer_position(A2,1)#按固定字符长度拆分,即A2列按照一个字符长度拆分,并写成新的一行。

2.merge

df1= read.table('AD_19.txt',header = T,sep = '\t')
df2 = read.table('GCS.txt',header = T,sep = '\t')
df_all = merge(df1,df2,by = 'SNP',all = T)#df1和df2按照SNP列合并,缺失值用NA填充

df_all = merge(df_all,df3,by = c('rs','chrm','pos','alt','ref'),all = T)#df1和df2按照多列合并,缺失值用NA填充

3.根据某列的值筛选所有的行

library(dplyr)
PLACO_shet_5E_8 = PLACO_shet %>% filter(p.placo<5e-8)#p.placo列小于5e-8的所有行
PLACO_shet_5E_8 = PLACO_shet_5E_8 %>% filter(SHet<5e-8)#SHet列小于5e-8的所有行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值