最多两个因子变量

时间:2019-01-01 22:50:19

标签: r

我有两个因素变量,分别是Facebook使用频率(FB_use)和Instagram使用频率(Instagram_use)。这些变量具有以下类别:

  1. 从不
  2. 很少(每月一次或两次)
  3. 有时(每周一次或两次)
  4. 经常(一天几次)

我要创建一个名为“社交网络使用频率”(Social_Network)的新变量,该变量是这两个变量的最大值。例如,如果某人对Instagram的响应为1(从不),对Facebook的响应为3(有时),则此列(“社交网络使用频率”)必须为我提供3的值。顺便说一句,我不想​​添加新列在我的数据中。原因是我通过重新编码从数据中定义了这两个变量(Instagram和Facebook)。非常感谢。

1 个答案:

答案 0 :(得分:2)

您无法比较这样的因素来产生最大值。为此,请先将其转换为字符,如下所示:

library(dplyr)
library(magrittr)

# Make up some data
dta <- data.frame(ID=c(1,2,1,2), 
                  TW=c("1-Never", "1-Never", "2-Sometimes", "3-Often"), 
                  FB=c("2-Sometimes", "3-Often", "1-Never", "2-Sometimes"))

# Convert to character
dta$FB <- as.character(dta$FB)
dta$TW <- as.character(dta$TW)
dta %>%
   group_by(ID) %>%
   summarise(Max=max(FB, TW))

#output
#  ID    Max        
#  <dbl> <chr>      
#   1    2-Sometimes
#   2    3-Often