合并不同的列名称并放入1个cvs文件

时间:2018-07-05 13:59:14

标签: r dplyr readr

我遇到以下问题:

我必须将多个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)。

我不想手动更改表中的名称,因为我的工作中经常遇到类似的问题。

提前谢谢!

关于, 月魂

0 个答案:

没有答案