来自向量值的数据框

Dataframe from vector values

我有向量,例如

porcentages1<-c(19.63081,29.87414,32.12955,18.36550)
porcentages2<-c(19.58452,29.94807,32.19970,18.26772)

其中向量的每个索引代表项目的百分比(例如,第一个索引代表狗的百分比,第二个索引代表猫的百分比)

我想创建一个数据框,例如 this one

有什么想法吗?

一种方法可以是:

library(dplyr)
library(tibble)

as_tibble(rbind(porcentages1, porcentages2)) %>% 
  rename(Dogs = V1, Cats = V2, Sharks = V3, Turtles = V4)
  Dogs  Cats Sharks Turtles
  <dbl> <dbl>  <dbl>   <dbl>
1  19.6  29.9   32.1    18.4
2  19.6  29.9   32.2    18.3

这是一个使用 data.table 的选项:

library(data.table)

output <- setnames(as.data.table(transpose(list(porcentages1, porcentages2))),
                   c("Dogs", "Cats", "Sharks", "Turtles"))

输出

输出

       Dogs     Cats   Sharks  Turtles
1: 19.63081 29.87414 32.12955 18.36550
2: 19.58452 29.94807 32.19970 18.26772

或使用 tidyverse 的另一个选项:

library(tidyverse)

map_dfc(purrr::transpose(list(porcentages1, porcentages2)), ~ unlist(tibble(.))) %>%
  set_names(c("Dogs", "Cats", "Sharks", "Turtles"))