R 使用循环导入许多文件
我有几个CSV格式的文件,我需要导入它们并使用“FOR”将它们转换为DF。我的文件名: FILE1.CSV;FILE2.CSV;文件3.CSVR 使用循环导入许多文件,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
#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")))