【发布时间】:2021-05-14 16:59:34
【问题描述】:
我正在尝试将具有多个分类变量的数据框转换为频率计数。
数据如下所示:
Site Date ID X1 X2 X3
A June - 01/16 1 aware resting resting
B June - 03/16 2 aware feeding feeding
C June - 01/16 1 resting aware aware
我想把它变成这样的东西:
site date ID aware resting feeding
A June - 01/16 1 3 2 1
B June - 01/16 2 1 0 2
我尝试使用 dplyr,但未能选择所有我想要的变量(X1、X2 和 X3)
data_frame %>%
dplyr::count((data_frame[c(1:3)]),cbind(data_frame[c(4:6)])) %>%
tidyr::spread(key = (data_frame[c(4:6)]),value = n)
这是我的数据示例:
data_frame <- structure(data.frame(site = c("A", "B", "C", "A", "B", "C", "D"),
date = c("June - 01/16","June - 03/16", "June - 01/16", "June - 01/16", "June - 03/16", "June - 03/16", "June - 03/16"),
ID = c("1", "2", "1", "3", "1", "2", "3"),
X1= c("aware", "aware","resting","feeding","aware", "resting","feeding"),
X2 = c("resting","feeding","aware","na","na","aware","resting"),
X3 = c("resting","feeding","aware", "aware","resting","feeding","aware")))
【问题讨论】: