在不同的 RStudio IDE 上用 "Date" 列绑定两个数据帧会产生不同的结果

Binding two dataframes with "Date" column on different RStudio IDEs produces different results

我正在通过将从两个不同的 GitHub 存储库获得的两个数据帧绑定在一起来生成一个新的数据帧。两个数据集都有一个 Date 列。 当我在我的机器上执行此操作时,一切都很好,我可以使用函数 rbind()bind_rows() 将数据帧绑定在一起。
另一个用户尝试了相同的代码,但结果不同。特别是 Date 列被拆分。第一个数据框的日期在第一列(称为 Date)下,而第二个数据框的日期放在数据框的末尾,在一个新列(我没有未创建)称为 X.U.FEFF.Date.

下面是我使用的代码:

library(dplyr)
library(RCurl)

setwd(dir = "YOUR_WORKING_DIRECTORY")

#####===== FIRST DATAFRAME =====#####
cases <- read.csv(text = getURL(url = "https://raw.githubusercontent.com/openZH/covid_19/master/COVID19_Cases_Cantons_CH_total.csv"),
                  header = TRUE,
                  stringsAsFactors = FALSE,
                  na.strings = c("", "NA"),
                  encoding = "UTF-8")

# Removed data for whole Switzerland and Leichtenstein
cases <- subset(x = cases,
                !is.element(el = canton,
                            set = c("CH", "FL")),
                select = c("date",
                           "canton",
                           "tested_pos"))

names(cases)[1] <- "Date"

# Dataset restructured according to the cases dataset format
cases <- reshape(data = cases,
                 idvar = "Date",
                 timevar = "canton",
                 v.names = "tested_pos",
                 direction = "wide",
                 )

names(cases) <- gsub(pattern = "tested_pos.",
                     replacement = "",
                     x = names(cases))

cases[is.na(cases)] <- 0

cases <- cases[order(cases$Date,
                     decreasing = FALSE), ]

#####===== SECOND DATAFRAME =====#####
cases2 <- read.csv(text = getURL(url = "https://raw.githubusercontent.com/daenuprobst/covid19-cases-switzerland/master/covid19_cases_switzerland.csv"),
                   header = TRUE,
                   stringsAsFactors = FALSE,
                   na.strings = c("", "NA"),
                   encoding = "UTF-8")

# Remove total daily cases for Switzerland
cases2 <- subset(x = cases2,
                 select = -c(CH))

# rbind between two cases datasets
cases_tot <- bind_rows(cases[1:7, ],
                       cases2)

write.csv(x = cases_tot,
          file = paste0(getwd(),
                        "/cases_tot.csv"),
          row.names = FALSE,
          quote = FALSE)

对于其他用户,函数 rbind() 只是失败了,而函数 bind_rows() 产生了此 image 中显示的输出。我不知道如何解决这个问题,因为我无法在我的机器上重现它。

知道导致此问题的原因吗?非常感谢。

根据评论:

read.csv() 更改为 read_csv() 以获得更强大的 csv 解析!