r - 创建一个数据框,新列值是列表的名称
问题描述
给定以下不平等列表:
lst <- list("es1-7"= c(1,2,3,4), "sa1-12"=c(3,4) , "ES8-13"= c(9,7,4,1,5,2))
> lst
$`es1-7`
[1] 1 2 3 4
$`sa1-12`
[1] 3 4
$`ES8-13`
[1] 9 7 4 1 5 2
我想创建一个这样的数据框:
group numbers
1 es1-7 1
2 es1-7 2
3 es1-7 3
4 es1-7 4
5 sa1-12 3
6 ... ...
因此,在这种情况下,names
列表将是一个新列的值,称为列表的值。group
numbers
解决方案使用base
并且dplyr
非常受欢迎
解决方案
我们可以使用stack
frombase R
创建一个两列 data.frame
stack(lst)[2:1]
或与enframe
library(tidyverse)
enframe(lst, name = "group", value = "numbers") %>%
unnest
推荐阅读
- linux-kernel - 释放平台驱动设备结构
- java - 无法将 xml 字符串设置为 jvm 属性
- python -
TypeError:resize_images() 得到了一个意外的关键字参数“preserve_aspect_ratio” - php - 我有五个表,我想在 laravel 中雄辩的 ORM 关系。并使用控制器检索值
- angular - 无法设置未定义的属性“ProjectId”
- python - 获取基于熊猫数据框中另一列的两列的频率计数
- android - 眼睑闭合超过 3 秒时发出警报
- python - 如何在熊猫数据框中反转 .astype(str)?
- windows - 在 Windows 10 操作系统的 ejabberd 服务器上安装和配置 TLS/SSL 证书
- jquery - 确定 maxDate 时排除 beforeShowDay