[英]Extract unique character strings in R
我有40个CSV文件。 在每个目录中,都有一列名称。 在每个名称列中,可以重复相同的名称(总共,名称列平均有20,000行,其中大约一半是唯一的)。 我想创建一个出现在多个文件中的名称列表(同时被告知出现在哪些文件中)。 如果同一个名称出现在多个文件中,我想知道每个文件的名称。
因此,在小范围内:
File1
Name
John
Peter
Abby
John
File2
Mike
Tim
John
Anothername
File3
Me
Mike
Adam
Eve
我想要的输出将是这样的:
data.frame
Names File
John 1
John 2
Mike 2
Mike 3
如果将所有csvs放入列表,您可能会采用以下方法:
#generate a fake data set easy to work with
LIST <- lapply(rpois(10, 10), function(i)data.frame(id=1:i, state=sample(state.name, i)))
#add the file number as a column
v <- lapply(1:length(LIST), function(i)data.frame(LIST[[i]], file=rep(i, nrow( LIST[[i]]))))
#make one big data frame
dat <- do.call(rbind, v)[, -1]
#reorder said data frame
dat[order(dat$state, dat$file), ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.