【发布时间】:2020-04-23 14:04:07
【问题描述】:
我有一个共享一些行和列的 3 个数据框的列表
数据
all_data <- list(questionnaireA = structure(list(name = structure(2:1, .Label = c("James",
"Shawn"), class = "factor"), banana = c(1, 0), grapes = c(1,
1), orange = c("AB", 1)), class = "data.frame", row.names = c(NA,
-2L)), questionnaireB = structure(list(name = structure(2:1, .Label = c("Chris",
"James"), class = "factor"), orange = c(1, 0), banana = c(1,
0)), class = "data.frame", row.names = c(NA, -2L)), questionnaireC = structure(list(
name = structure(3:1, .Label = c("Donald", "James", "Shawn"
), class = "factor"), banana = c(1, 0, 0), raisins = c(1,
1, 1), grapes = c(1, 1, 0), cake = c(0, 1, 0)), class = "data.frame", row.names = c(NA, -3L)))
$questionnaireA name banana grapes orange 1 Shawn 1 1 AB 2 James 0 1 1 $questionnaireB name orange banana 1 James 1 1 2 Chris 0 0 $questionnaireC name banana raisins grapes cake 1 Shawn 1 1 1 0 2 James 0 1 1 1 3 Donald 0 1 0 0
library(tidyverse)
map(all_data, ~ .x %>%
pivot_longer(cols=-name, names_to="fruit"))
- 不确定如何将值重命名为数据框的名称。
- 我不知道如何加入值和联合名称水果对。
任何帮助将不胜感激!
【问题讨论】:
-
刚刚添加了预期的输出。所以我想将从 pivot_longer 获得的值作为列添加到所有名称+水果对的联合中