R语言tidyverse零散知识点:根据所有的列来排序、删除重复行

数据集

A,1,1
A,1,3
A,1,2
B,1,2
D,1,1
C,1,2
A,1,1

linux的代码

cat file.txt | sort | uniq

R语言代码

library(tidyverse)
?arrange
getwd()
dat01<-read_csv("MingYan/sort_uniq.txt",col_names = FALSE)
#?read_csv
dat01
dat01 %>% arrange(X1,X2,X3) %>% 
  distinct()
dat01 %>% arrange(across(everything())) %>% 
  distinct()

这个是升序来的

如果降序

dat01 %>% arrange(across(everything(),desc)) %>% 
  distinct()

如果排序只作用于某一列,可以直接在arrange()函数里写列名
比如

dat01 %>% arrange(X1) %>% 
  distinct()

排序作用于所有列的写法是

across(everything())

展示某个文件夹下符合特定命名规则的文件路径

list.files("folder",pattern="*.txt",full.names=TRUE,recursive=TRUE)

所有文件按照行合并到一起

list.files("MingYan",pattern="*.txt",
           full.names = TRUE,
           recursive = TRUE) %>% 
  map(.,read_csv,col_names=FALSE) %>% 
  bind_rows()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容