我遇到以下问题:
我必须将多个cvs文件合并为一个大文件。但是问题是,有些列的名称相似,但写法不同。因此,R自动将它们放到表的末尾。我希望R将名称相似(小写/大写字母不同)的列放在一个,以便我将所有8个cvs文件作为一个具有相同列的大列表。
我认为我在功能上有错误。我不确定以下行:
tbl<- filelist[filename==filelist[1]]
我的代码如下:
#Key Metrics Script 05.07.18
library(readr)
library(dplyr)
files<-list.files(pattern="*_csv3.csv")
tbl <- lapply(files, read_csv2) %>% bind_rows()
read.data <- function(filename) {
tbl <- read.csv2(paste(path, filename, sep = "/"))
tbl <- filelist[filename == filelist[1]]
if (tbl == 1) {
names.de <- c(
"Audience Targeting",
"Lifetime Instagram",
"Lifetime Facebook")
names.en <- c(
"Audience targeting",
"Lifetime instagram",
"Lifetime facebook")
}
tbl}
tbl1<- tbl[!duplicated(tbl$`Post ID`),]
sum(nchar(as.character(tbl1$`Post ID`))<=0)
write.csv2(tbl1, "KeyMetrics_05072018.csv", na="", row.names = FALSE)
我的第二个问题是:当我使用此行
tbl <- lapply(files, read_csv2) %>% bind_rows()
R向我显示了多个警告:
Using ',' as decimal and '.' as grouping mark. Use read_delim() for more
control.
Parsed with column specification:
cols(
.default = col_character()
)
See spec(...) for full column specifications.
Using ',' as decimal and '.' as grouping mark. Use read_delim() for more
control.
Parsed with column specification:
cols(
.default = col_character()
1: Duplicated column names deduplicated: 'Lifetime twitter'
=> 'Lifetime twitter_1'
重复的列名已重复删除-因为每个csv文件中我有2个相等的列名,但是内容不同(一个是pro person,另一个是total)。
我不想手动更改表中的名称,因为我的工作中经常遇到类似的问题。
提前谢谢!
关于, 月魂