繁体   English   中英

从虚拟变量中创建因子并计数

[英]creating factor out of dummy variables and counting

我想在我的数据集中计算某些东西。 我有面板数据,理想情况下想计算每个 zip 的活动数量。

zip <- c(1,1,1,2,2,3,3,4,4,5,5)
    activity <- c(1,1,1,2,2,3,4,5,5,6,6)
    completion <- c(0,0,1,0,1,1,1,0,0,0,1)

所以我的 output 会告诉我第 4 个人有 2 个任务。

zip 1
    frequency activity 2

我使用这些数据和这个 function 它完美地工作。

library(dplyr)
    cllw %>% 
      group_by(zip) %>% 
      summarise("id_task" = n())%>% View()

现在,我为 zip 数据编写了一些虚拟变量,如下所示:

df$California <- ifelse(df$zip ==1, 1, 0)
df$Hawaii <- ifelse(df$zip ==2, 1, 0)
df$Oregon <- ifelse(df$zip ==3, 1, 0)
df$Washington <- ifelse(df$zip ==4, 1, 0)
df$Alaska <- ifelse(df$zip ==5, 1, 0)

现在,几天前,我只是在将虚拟对象添加到我的 df 之后运行与上面相同的代码,以便不仅获得 zip 级别的结果,而且获得状态级别的结果。

所以 output 看起来像这样

California
frequency activity 2

我如何才能将状态级效果融入我的 function

你需要这样的东西吗?

library(dplyr)

df %>%
  tidyr::pivot_longer(cols = California:Alaska) %>%
  filter(value == 1) %>%
  count(name)

# A tibble: 5 x 2
#  name           n
#  <chr>      <int>
#1 Alaska         2
#2 California     3
#3 Hawaii         2
#4 Oregon         2
#5 Washington     2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM