我知道这是一个新手问题,我有这3个xlsx文件和3个相同14个变量的三个数据库,这是一个横截面数据面板,我想要的是将它们连接到一个名为eplt的数据库中,首先,我导入它们
library(dplyr)
library(ggplot2)
library(xlsx)
##Import the three data bases
epl_data<-read.xlsx("Notes_ETAB2016-2017.xlsx",sheetIndex = 1,header = TRUE)
epl_data2<-read.xlsx("Notes_ETAB2017-2018.xlsx",sheetIndex = 1,header = TRUE)
epl_data3<-read.xlsx("Notes_ETAB2018-2019.xlsx",sheetIndex = 1,header = TRUE)
## to render the number of rows in each of them
nrow(epl_data)
nrow(epl_data2)
nrow(epl_data3)
# I want to rbind the three sets together
eplt<-rbind(epl_data,epl_data2,epl_data3)总行数是29441,但是当应用Rbind将它们绑定在一起时,我得到了错误
> eplt<-rbind(epl_data,epl_data2,epl_data3)
Error in match.names(clabs, names(xi)) :
names do not match previous names但这3个集合中的变量名称是相同的

有人能帮帮忙吗,我只想重新绑定25000个观察值,剩下的4441个,让它与多元回归模型的可预测obs进行比较,提前谢谢
发布于 2021-07-13 19:46:06
第三个数据帧与前两个数据帧的名称不同: Svt不是大写的。
一种方法是将一个数据帧的名称应用于其他数据帧:
colnames(epl_data2) <- colnames(epl_data)
colnames(epl_data3) <- colnames(epl_data)但是,只要您的数据来自janitor文件,我就推荐使用这个包。事实上,存在变量名问题是很常见的。此程序包可确保数据列名的良好格式:
epl_data <- janitor::clean_names(epl_data)
epl_data2 <- janitor::clean_names(epl_data2)
epl_data3 <- janitor::clean_names(epl_data3)因此,rbind应该可以工作
发布于 2021-07-13 20:09:26
如前所述,变量名'SVT'不匹配。这里有一种替代方法,可以使列名小写,并将它们绑定在一个数据帧中。
library(dplyr)
library(purrr)
eplt <- list.files(pattern = 'Notes_ETAB2016-\\d+\\.xlsx') %>%
map_df(~readxl::read_excel(.x) %>% rename_with(~tolower(.)))https://stackoverflow.com/questions/68361510
复制相似问题