【发布时间】:2019-11-18 01:49:01
【问题描述】:
这是一个谜题。
假设您有一个数据框和一个列表。该列表的元素数量与 df 的行数一样多:
dd <- data.frame(ID=1:3, Name=LETTERS[1:3])
dl <- map(4:6, rnorm) %>% set_names(letters[1:3])
是否有一种简单的方法(最好使用 dplyr / tidyverse)来制作长格式,以便列表的元素与数据框的相应行连接?以下是我想用不太优雅的方式说明的内容:
rows <- map(1:length(dl), ~ rep(., length(dl[[.]]))) %>% unlist()
dd <- dd[rows,]
dd$value <- unlist(dl)
如您所见,对于dl 中的每个向量,我们根据需要多次复制相应行以容纳每个值。
【问题讨论】: