我正在尝试使用 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”的结果作为值来构造一个数据透视表。我不想添加另一列或生成另一个数据框来执行此操作,但我不知道该怎么做。我尝试使用强制转换函数,但它只将“出售”变量视为值。有什么想法吗?
最佳答案
您可以使用 dplyr
和 tidyr
来完成此操作,尽管该脚本从技术上讲确实会创建一个新列作为其转换的一部分。
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/