Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用循环导入许多文件_R - Fatal编程技术网

R 使用循环导入许多文件

R 使用循环导入许多文件,r,R,我有几个CSV格式的文件,我需要导入它们并使用“FOR”将它们转换为DF。我的文件名: FILE1.CSV;FILE2.CSV;文件3.CSV #FILE1 NAME<- c("JOHN","DONALD","CARL") PRICE <- c(50, 60, 70) FILE1 <- data.frame(NAME,PRICE) #FILE2 NAME<- c("MICHAEL","CRIS","MARY") PRICE <- c(12, 33, 78) CIT

我有几个CSV格式的文件,我需要导入它们并使用“FOR”将它们转换为DF。我的文件名:

FILE1.CSV;FILE2.CSV;文件3.CSV

#FILE1
NAME<- c("JOHN","DONALD","CARL")
PRICE <- c(50, 60, 70)
FILE1 <- data.frame(NAME,PRICE)

#FILE2
NAME<- c("MICHAEL","CRIS","MARY")
PRICE <- c(12, 33, 78)
CITY<- c("NY", "LA","LON")
FILE2 <- data.frame(NAME,PRICE,CITY)

#FILE3
NAME<- c("PAUL","BROWN","WAL")
PRICE <- c(99, 54, 22)
CITY<- c("PAR","RIO","LIS")
POP<- c(150,369,871)
FILE3 <- data.frame(NAME,PRICE,CITY,POP)
#文件1

NAME在循环中,我们需要将其存储在
列表中,因为“DF”在每次迭代中都会更新

lst1 <- vector('list', length(list_file))
for (i in seq_along(list_file)){
  lst1[[i]] <- as_tibble(list_file[[i]]) %>% 
         select(NAME,PRICE) 
  }

另外,当我们使用tidyverse函数时

library(dplyr)
library(tidyr)
library(purrr)
library(readr)
out <- map_dfr(list.files(pattern = "*\\.csv"), ~
          read_csv(.x) %>%
             select(NAME, PRICE)
 )

谢谢当我使用你对“lst1”的建议时。。。下面的消息是:“警告消息:”In 1:seq_-along(list_文件):数字表达式有3个元素:仅第一个使用“@BrunoAvila抱歉,这与您使用的代码相同。它应该是
for(i In-seq_-along(list_文件))
而不是
1:seq_-along
@BrunoAvila我之前没有注意到。你会得到与
1:seq_-along(1:3)[1]1警告消息相同的警告:在1:seq_-along(1:3):数值表达式有3个元素:只有第一个使用的
。相反,它只是
seq_-along
lst1 <- vector('list', length(list_file))
for (i in seq_along(list_file)){
  lst1[[i]] <- as_tibble(list_file[[i]]) %>% 
         select(NAME,PRICE) 
  }
bind_rows(lst1)
library(dplyr)
library(tidyr)
library(purrr)
library(readr)
out <- map_dfr(list.files(pattern = "*\\.csv"), ~
          read_csv(.x) %>%
             select(NAME, PRICE)
 )
library(data.table)
rbindlist(lapply(list.files(pattern = "*\\.csv"), fread,
         select = c("NAME", "PRICE")))