繁体   English   中英

从第一列或多个数据创建列表/向量

[英]Creating a list/vector from first column od multiple data

我总共有21个要加载到R中的csv文件。所以我做到了:

list_of_data = list.files(pattern="*.csv")
tbl_met = lapply(list_of_data, read.csv)

因为数据太多,所以无法给您带来dput

我要做的是从所有数据集中第一列的所有名称中获取一个列表。 合并到一个向量/列表,但有两个问题:

  • 这些文件中的所有列首先用“;”分隔 还是没有任何分隔符号...我是否必须查看这些文件并以相同方式将它们全部分隔?

  • 第二个问题是名称可能重复,我想将它们从列表中删除。

你有什么想法吗? 我应该再提供一些数据吗? 如果是,请告诉我该怎么做。

我找到了解决方案。 也许这不是最简单的一种,但它确实有效。 首先,我必须将所有的csv文件转换为相同的模式。 用R轻松完成任务。

后来:

list_of_data = list.files(pattern="*.csv")
tbl_met = lapply(list_of_data, read.csv)
tbl <- rbindlist(tbl_met) ## binding all of the tables in the list by row

vec_names <- tbl$locus ## name of the column with names which I am interested in
vec <- unique(vec_names) ## removing the duplicates

做得很好!

我对某些文件中没有分隔符的事实表示怀疑。 您如何分隔列? 所有列名称是否至少相同?

但是,您可以尝试一下,看看是否有任何作用吗?

library(data.table)
list_of_data = list.files(pattern="*.csv")
tbl_met = lapply(list_of_data, fread)
DT=rbindlist(l=tbl_met,use.names = FALSE);
print(unique(DT[,1,with=FALSE]))

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM