当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R tibble enframe 将向量转换为数据帧,反之亦然


enframe() 将命名原子向量或列表转换为一列或两列数据帧。对于列表,结果将是一个嵌套的 tibble,其列类型为 list 。对于未命名的向量,使用自然序列作为名称列。

deframe() 将两列数据帧转换为命名向量或列表,使用第一列作为名称,第二列作为值。如果输入只有一列,则返回一个未命名的向量。

用法

enframe(x, name = "name", value = "value")

deframe(x)

参数

x

向量(对于 enframe() )或具有一列或两列的数据帧(对于 deframe() )。

name, value

存储名称和值的列的名称。如果 nameNULL ,则返回 one-column tibble; value 不能是 NULL

对于 enframe()tibble 具有两列(如果 name 不是 NULL ,则为默认值)或一列(否则)。

对于 deframe() ,一个向量(命名或未命名)。

例子

enframe(1:3)
#> # A tibble: 3 × 2
#>    name value
#>   <int> <int>
#> 1     1     1
#> 2     2     2
#> 3     3     3
enframe(c(a = 5, b = 7))
#> # A tibble: 2 × 2
#>   name  value
#>   <chr> <dbl>
#> 1 a         5
#> 2 b         7
enframe(list(one = 1, two = 2:3, three = 4:6))
#> # A tibble: 3 × 2
#>   name  value    
#>   <chr> <list>   
#> 1 one   <dbl [1]>
#> 2 two   <int [2]>
#> 3 three <int [3]>
deframe(enframe(3:1))
#> 1 2 3 
#> 3 2 1 
deframe(tibble(a = 1:3))
#> [1] 1 2 3
deframe(tibble(a = as.list(1:3)))
#> [[1]]
#> [1] 1
#> 
#> [[2]]
#> [1] 2
#> 
#> [[3]]
#> [1] 3
#> 
源代码:R/enframe.R

相关用法


注:本文由纯净天空筛选整理自Kirill Müller等大神的英文原创作品 Converting vectors to data frames, and vice versa。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。