簡體   English   中英

for(seq_along(data_file)中的i:file(file,“ rt”)中的錯誤:無效的'description'參數

[英]for(i in seq_along(data_file): Error in file(file, “rt”) : invalid 'description' argument

我首先通過一個Excel文件將數據讀入R,該文件包含文件位置和文件名的列表:

data_files <- readxl::read_excel("./Data/source_data.xlsx")

看起來像這樣: 在此處輸入圖片說明

接下來,我想使用for循環/ seq_along遍歷此列表,以訪問每個行變量,並在read.csv()中使用行變量,然后執行以下操作:

for(i in seq_along(data_files)){
  x <- read.csv(data_files[[i]], sep= "\t", skipNul = TRUE)
  # DO THINGS
}

當我運行for循環時,我得到:

Error in file(file, "rt") : invalid 'description' argument

我知道這與未按我期望的方式發生迭代有關,因為在執行以下操作時,csv已成功讀入R:

path <- "/Users/gerb/Downloads/"
file <- "Who_Has_Seen_crosstab (2).csv"
path_file <- paste(path, file, sep="")

x <- read.csv(path_file, sep= "\t", skipNul = TRUE)

@Rui Barradas得到我的投票,但值得擴大他的答案。 from ?seq_along :“ seq_along和seq_len返回整數向量。” 如前所述,您可以通過將print添加到函數中來查看此內容。

l = tibble(a = c("a","b","C"))
x = tibble(a = c("a","b","C"),
            b = c("x","y","z"))

for(i in seq_along(l)){
    print(l[i])
}

# A tibble: 3 x 1
   a    
 <chr>
1 a    
2 b    
3 C 


for(i in seq_along(x)){
    print(x[i])
 }

> for(i in seq_along(x)){
      print(x[i])
   }

 #A tibble: 3 x 1
 a    
<chr>
1 a    
2 b    
3 C    
# A tibble: 3 x 1
  b    
 <chr>
1 x    
2 y    
3 z   

您不想要整個向量。 看來您想遍歷小標題中的每一行。 還有其他方法可以執行此操作,但是類似這樣的方法會更好:

for(i in 1:nrow(l)){
    print(l[i,])
  }

# A tibble: 1 x 1
 a    
<chr>
1 a    
# A tibble: 1 x 1
  a    
 <chr>
1 b 
 .....   

最后一點:閱讀R輸出的副本和粘貼比圖像更容易。 避免抓住屏幕來回答將來的問題對其他人會有所幫助。

暫無
暫無

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

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