簡體   English   中英

如何用向量名稱作為級別的多個向量創建數據框?

[英]How to create a dataframe from multiple vectors with vector names as levels?

我有三個向量:

low = c(1,2,3)
med = c(3,5)
high = c(9)

我想創建一個像

value group
1     low
2     low
3     low
3     med
5     med
9     high

我試圖創建一個像x=data.frame(low = low, med=med, high=high)的數據x=data.frame(low = low, med=med, high=high) (或因子) x=data.frame(low = low, med=med, high=high)但它提供了三列。

一種選擇是將它們轉換為命名list ,然后stack

stack(list(low = low, med = med, high = high))

#  values  ind
#1      1  low
#2      2  low
#3      3  low
#4      3  med
#5      5  med
#6      9 high

這是tidyverse一種選擇

library(tidyverse)
lst(low, med, high) %>%
    enframe %>% 
    unnest
# A tibble: 6 x 2
#  name  value
#  <chr> <dbl>
#1 low       1
#2 low       2
#3 low       3
#4 med       3
#5 med       5
#6 high      9

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM