[英]How to combine multiple .csv files, and add a column with each dataset's name, in R?
[英]How to grab each column's unique values in multiple csv files
我對R比較陌生,請耐心等待。 我有50多個csv文件,希望遍歷每個文件並獲取每一列的唯一值。 它們都被格式化,第一行是標題。
理想的輸出將是一個數據幀,指示每個csv的文件名,列標題和唯一值。 這些是每一列的唯一值,一次是一個,而不是列組合的唯一性。
任何幫助將不勝感激!
這是我如何獲取唯一值的列表,但是我不確定下一步該怎么做:
lapply(files, function(x) {
t <- read.csv(x, header=TRUE) # load file
unq <- apply(t, 2, unique)
})
這應該可以解決問題:
do.call(rbind, lapply(files, function(x) {
dat <- read.csv(x, header=TRUE)
do.call(rbind, lapply(seq(ncol(dat)), function(idx) {
data.frame(filename=x, column=colnames(dat)[idx],
value=unique(dat[,idx]))
}))
}))
外部lapply
為每個文件x
返回一個數據幀,內部lapply
為x
每個編號為idx
列返回一個數據幀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.