簡體   English   中英

R 重復列和行標題

[英]R Repeating column and row headers

我在一個文件夾中有 100 個 csv 文件,並被要求編寫一個函數,該函數將返回每個文件的完整案例數(包含 0 NA 值的所有行的計數)。 在每個文件中有 5 列。

我正在嘗試返回一個數據框,該數據框將顯示“ID”列(提供對文件的引用)和計算出的“Nobs”列(提供每個 csv 文件中完整案例的數量)。 我希望能夠對函數中指定的不同文件執行此操作,例如:文件 1:3、78:92 等。

我能夠獲得完整案例數和相應 ID 號的正確數字,但是當我按功能粘貼時,列標題“ID”和“Nobs”在每行之后重復(請參見下文)。 我只希望每列頂部的列標題,而不是每行后重復。

  ID Nobs
1  2 1042
  ID Nobs
1  4  475
  ID Nobs
1  8  193
  ID Nobs
1 10  149
  ID Nobs
1 12   97

請你能幫我解決這個問題嗎?
摘要:您將如何擺脫每行之后重復的標題“ID”和“Nobs”。

非常感謝您的寶貴時間。

您尚未在此處提供任何代碼,因此我創建了自己的簡單示例,您可以對其進行調整。

我創建了 2 個名為dt1.csvdt2.csv csv 文件。 他們每個人都有 3 行,但只有dt1.csv有一行,其中一列是 NA。

# vector of file names
filenames = list.files(pattern = "[.]csv")

library(dplyr)

data.frame(filenames, stringsAsFactors = F) %>%            # create dataframe with the file names
  mutate(id = row_number()) %>%                            # add the id
  group_by(filenames) %>%                                  # for each filename
  do({dd = read.csv(.$filenames)                           # read the csv file
      data.frame(.,                                        # keep file name and id
                 Nobs = nrow(dd[complete.cases(dd),]))})   # count number of complete cases

# Source: local data frame [2 x 3]
# Groups: filenames [2]
# 
#    filenames    id  Nobs
#        (chr) (int) (int)
# 1   dt1.csv     1     2
# 2   dt2.csv     2     3

暫無
暫無

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

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