我有大量的CSV文件看起来像这样的:到结合,订单,去重复在多个文件中的R
var val1 val2
a 2 1
b 2 2
c 3 3
d 9 2
e 1 1
我想:
- 阅读他们
- 从每个CSV中取前三名
- 仅列出变量名称(3 x个文件)
- 仅保留列表中的唯一名称
我想我已经设法通过执行此点3:
csvList <- list.files(path = "mypath", pattern = "*.csv", full.names = T)
bla <- lapply(lapply(csvList, read.csv), function(x) x[order(x$val1, decreasing=T)[1:3], ])
lapply(bla,"[", , 1, drop=FALSE)
现在,我在每个CSV前3个变量的列表。但是,我不知道如何将此列表转换为字符串并只保留唯一值。
任何帮助,欢迎。
谢谢!
所以你只是想从例子中'a b c'?我认为你可以'取消'你的'lapply'结果,然后使用'unique',这可以解释/取消。 – Frank
没错,@Frank。我只想保留'a b c'作为列表。 'unlist'失败,结构错误(res,levels = lv,names = nm,class =“factor”): 'names'属性[450]必须与向量[9]的长度相同' – DGenchev