df 中的绑定行
Binding Rows in df
将一些 df 绑定在一起时出现小问题。
我使用以下过程创建了简化的 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)
...以下文件等。
然后我使用这段代码尝试绑定 dfs:
merged <- bind_rows(list(Slim_1,Slim_10,Slim_11...))
但是,dfs 是连接到右边的,而不是在一个长格式 df 中附加在末尾。
*注意PWI_V1x是实验版本的名称,需要排队
我认为错误是由变量修剪过程(即创建 'slim' df)引起的,但不幸的是,未修剪的文件具有不同的列数,因此在尝试绑定原始文件时出现错误dfs。如有任何建议,我们将不胜感激!
bind_rows
要求列名相同。使用 dplyr::select
而不是 "slimming" 您的数据框,这样您每次都可以选择相同的列名。
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)
将一些 df 绑定在一起时出现小问题。
我使用以下过程创建了简化的 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)
...以下文件等。
然后我使用这段代码尝试绑定 dfs:
merged <- bind_rows(list(Slim_1,Slim_10,Slim_11...))
但是,dfs 是连接到右边的,而不是在一个长格式 df 中附加在末尾。 *注意PWI_V1x是实验版本的名称,需要排队
我认为错误是由变量修剪过程(即创建 'slim' df)引起的,但不幸的是,未修剪的文件具有不同的列数,因此在尝试绑定原始文件时出现错误dfs。如有任何建议,我们将不胜感激!
bind_rows
要求列名相同。使用 dplyr::select
而不是 "slimming" 您的数据框,这样您每次都可以选择相同的列名。
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)