绑定df中的行

查宁·伊夫里奇·哈姆布里奇

将一些dfs绑定在一起有一个小问题。

我使用以下过程来创建简化的dfs:

PWI_1 <- read.xlsx("/Users/myname/Desktop/PrelimPWI/PWI_1_V1A.xlsx", colNames = TRUE, startRow = 2)
Slim_1 <- data.frame(PWI_1$ExperimentName,PWI_1$Subject, PWI_1$error,PWI_1$Block, PWI_1$Category, PWI_1$Trial,PWI_1$prompt1.RT)

... etc用于以下文件。

然后,我使用以下代码尝试绑定dfs:

merged <- bind_rows(list(Slim_1,Slim_10,Slim_11...))

但是,df连接在右侧,而不是以一个长格式df附加在末尾。*请注意,PWI_V1x是实验版本的名称,需要排队

在此处输入图片说明

我认为该错误是由变量修整过程(即创建“ slim” df)引起的,但是不幸的是,未修剪的文件具有不同的列数,因此在尝试绑定原始dfs时出现错误。任何意见,将不胜感激!

叶亚瑟

bind_rows要求列名称必须相同。使用而不是“精简”数据框,而是使用dplyr::select以便每次都选择相同的列名。

    Slim_PWI_1 <- read.xlsx("/Users/myname/Desktop/PrelimPWI/PWI_1_V1A.xlsx", colNames = TRUE, startRow = 2) %>% 
    select(ExperimentName, Subject, error, Block, Category, Trial, prompt1.RT)

那么这应该工作:

merged <- bind_rows(Slim_PWI_1, ...)

编辑:如果您有多个文件,则可以像这样将它们一起阅读和精简:

    Slim_PWI_list <- dir(path = "/Users/myname/Desktop/PrelimPWI/", pattern = "PWI.*xlsx", full.names = TRUE) %>% 
map(~read.xlsx(., colNames = TRUE, startRow = 2)) %>% 
map(~select(., ExperimentName, Subject, error, Block, Category, Trial, prompt1.RT))
    merged <- bind_rows(Slim_PWI_list)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章