簡體   English   中英

如何在多個csv文件中獲取每一列的唯一值

[英]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返回一個數據幀,內部lapplyx每個編號為idx列返回一個數據幀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM