r - 如何在 R 中使用计算字段制作数据透视表?

标签 r pivot-table

我正在尝试使用 R 中的计算字段构建一个数据透视表。我的数据框与此类似:

   number   hour    tot      cefe  sell
        1  09:00    50         2     1
        1  10:00    52        NA    NA
        1  11:00    72         4     1
        1  12:00    96         3    NA
        1  13:00    90         4     1
        1  14:00    98         2     1
        2  08:00    38         4     1
        2  09:00   427        16     2
        2  10:00   493        16     1
        2  11:00   340        16    NA
        2  12:00   571        20     2
        2  13:00   547        23     2
        2  14:00   578        25     4

我需要使用“number”变量作为行、“hour”作为列、“cefe/tot”的结果作为值来构造一个数据透视表。我不想添加另一列或生成另一个数据框来执行此操作,但我不知道该怎么做。我尝试使用强制转换函数,但它只将“出售”变量视为值。有什么想法吗?

最佳答案

您可以使用 dplyrtidyr 来完成此操作,尽管该脚本从技术上讲确实会创建一个新列作为其转换的一部分。

library(dplyr)
library(tidyr)

x %>%
  mutate(cefetot = cefe/tot) %>%
  select(number, hour, cefetot) %>%
  spread(key = hour, value = cefetot)

关于r - 如何在 R 中使用计算字段制作数据透视表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43243964/

相关文章:

r - 在(反)对角线上应用函数

r - 如何在 R 中聚合某个位置内存在/不存在数据的多个观察结果?

r - 与 R Shiny App 的自动化交互

excel - 使用 VBA 选择数据透视表中的最后 3 个值(周),但不包含 'blank'

mysql - Laravel, Eloquent 多对多,数据透视表中的多对多

R-heatmap.2(gplots): change colors for breaks

从列表中的多个列表中删除空值

php - laravel 数据透视表获取错误记录

php - 在 Laravel 5.2 中将数据插入数据透视表

excel - 如何扩展数据透视表的数据源?