[技巧]玩转大表格的几个神奇函数
今天是生信星球陪你的第232天
大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~
就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~
这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!
师姐生日快乐羡慕已经休假的小伙伴们~~
最近在实战中提升R语言,开启了疯狂写函数的时代。我写的我写的我写的!
这几个函数主要针对几万行,每列有重复值的大数据框来做一些简单的统计和处理,还有之前端详过的既不是NA也不是NULL的“”该如何处理。
1.去除含有“”的行
输入是数据框名
借助na.omit这个函数,将含有“”空字符串的行过滤掉。
empty.omit <- function(df){
df[df==""] <- NA
na.omit(df)
}
2.按照某两列来去重复
本打算连整个表格的去重复一起写,当我写下unique.d的时候发现有现成的函数名叫unique.data.frame!我就不写了。我写一个选列去重吧!
输入是数据框名,依据列的号。
dup2 <- function(df,m,n){
df[!duplicated(df[,c(m,n)]),]
}
3.表格的去重统计
输入仍然是表格。
(1)将统计结果输出为表格
dumd <- function(df){
colname <- vector("character")
count <- vector("integer")
for(i in 1:ncol(df)){
colname[i] = colnames(df)[[i]]
count[i]=nrow(df[!duplicated(df[,i]),])
}
output <- tibble(colname,count) %>%
arrange(desc(count))
print(output)
}
(2)将统计结果输出为向量(第一个数为行数)
dump <- function(df){
count <- vector("integer")
for(i in 1:ncol(df)){
count[i]=nrow(df[!duplicated(x[,i]),])
}
print(c(nrow(df),count))
}
连用更轻松
df <- df %>%
unique.data.frame() %>%
empty.omit()
![[技巧]玩转大表格的几个神奇函数 [技巧]玩转大表格的几个神奇函数](http://www.weinformatics.cn/wp-content/uploads/2022/05/2-1651731483.jpg)
隔壁生信技能树公益视频合辑(学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!)
国内看B站,教学视频链接:https://m.bilibili.com/space/338686099
国外看YouTube,教学视频链接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists友情链接:
点击底部的“阅读原文”,获得更好的阅读体验哦😻
初学生信,很荣幸带你迈出第一步。
我们是生信星球,一个不拽术语、通俗易懂的生信知识平台。由于是2018年新号,竟然没有留言功能。需要帮助或提出意见请后台留言、联系微信或发送邮件到Bioplanet520@outlook.com,每一条都会看到的哦~
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!