r - 我有一个包含多个组的专栏。我希望每个组都有自己的专栏

标签 r

我有一个包含两列的数据框。第一列包含组,第二列包含值。

我希望每个分组都是一列,并且我希望所有关联的值都位于相应的列下。

我更喜欢 tidyverse 解决方案。如果可能的话,我更喜欢一种自动获取每个组并创建一个新列并在其下包含适当值的解决方案。我不想手动输入标题。

这就是我所拥有的:

df <- data.frame(Group = c("A", "A", "A", "B", "B", "B"),
                 Value = c(2,2,2,3,3,3))
df$Group <- as.character(df$Group)

这就是我想要的:

want <- data.frame(A = c(2,2,2),
                   B = c(3,3,3))

最佳答案

使用tidyverse,我们可以在按“Group”创建序列列后使用pivot_wider

library(dplyr)
library(tidyr)
df %>% 
   group_by(Group) %>%
   mutate(rn = row_number()) %>% 
   pivot_wider(names_from = Group, values_from = Value) %>%
   select(-rn)
# A tibble: 3 x 2
#      A     B
#  <dbl> <dbl>
#1     2     3
#2     2     3
#3     2     3

base R中,它可以是unstack

unstack(df, Value ~ Group)

或者使用data.table

library(data.table)
dcast(setDT(df), rowid(Group) ~ Group, value.var = 'Value')[, .(A, B)]

关于r - 我有一个包含多个组的专栏。我希望每个组都有自己的专栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59112100/

相关文章:

r - 在 R 中计算字符串

r - 如何访问检查包裹时可能出现的任何注释?

r - 将 json/data 传递给 Shiny 的 javascript 对象

r - 有没有办法在描述文件中自动生成 `Imports` 部分?

R 从日期时间转换为日期

r - 从语料库中删除所有专有名词的有效方法

R - 在 foreach 和 doParallel 中使用 # of cores > 64 时插入符号中的模型没有完成

r - 有条件地显示通过 withCallingHandlers 捕获的警告消息

Rplotly - 绘制分组线

r - 将向量与向量列表匹配