[英]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.