在R中的循环中上传tsv文件,其中前几行为空

zwghvu4y  于 2023-02-14  发布在  其他
关注(0)|答案(1)|浏览(152)

我有很多的tsv文件,我想在R上传。我不想合并他们。我做了一个所有文件的列表,并把它放在一个循环上传他们。它的工作大多,除了我的一些文件在最后一列的第一行中确实有空位,这使得read_tsv删除它们。在过去,我只是编辑文件以添加-解决这个问题,但这一次是不切实际的,因为我有数百个文件要处理。你能帮我这个。

library(readr)
public_folder <- "C:/Users/eulus/Desktop/test/interproscan/public_results/"       
public_file_list <- list.files(path=public_folder, pattern="*.tsv")  
for (i in 1:length(public_file_list)){assign(public_file_list[i],read_tsv(paste(public_folder, public_file_list[i], sep=''), col_names = F, skip_empty_rows = F))}

我尝试过定义列名和添加列类型,但这并没有解决我的问题,坦白地说,我在这里不知所措。列类型的详细信息由R张贴在这里,显示问题列14只是在下一个文件中删除。

-- Column specification ----------------------------------------------------------
Delimiter: "\t"
chr (10): X1, X2, X4, X5, X6, X9, X11, X12, X13, X14
dbl  (3): X3, X7, X8
lgl  (1): X10

i Use `spec()` to retrieve the full column specification for this data.
i Specify the column types or set `show_col_types = FALSE` to quiet this message.
Rows: 266 Columns: 13                                                                                                
-- Column specification ----------------------------------------------------------
Delimiter: "\t"
chr (9): X1, X2, X4, X5, X6, X9, X11, X12, X13
dbl (3): X3, X7, X8
lgl (1): X10

i Use `spec()` to retrieve the full column specification for this data.
i Specify the column types or set `show_col_types = FALSE` to quiet this message.

我收到了一些警告。下面的每一个警告都是一样的,所以我不会在这里发布每一个警告。

There were 50 or more warnings (use warnings() to see the first 50)
> warnings()
Warning messages:
1: One or more parsing issues, call `problems()` on your data frame for details,
e.g.:
  dat <- vroom(...)
  problems(dat)
2: One or more parsing issues, call `problems()` on your data frame for details,
e.g.:
  dat <- vroom(...)
  problems(dat)
5vf7fwbs

5vf7fwbs1#

很难直接回答这个问题,但我怀疑解决方案是一个for循环。我想你会想要一些沿着这样的东西:

public_file_list <- list.files(path=public_folder, pattern="*.tsv")  
raw_data <- lapply(public_file_list,read_tsv)

或许

raw_data <- lapply(public_file_list,read_tsv, col_names = F, skip_empty_rows = F))

相关问题