如何将不同的李克特变量组合成 R 中的一个新变量?

问题描述

我是 R 的初学者,有一个关于将不同变量组合成一个新变量的问题。

我的 surv mey 例如通过三个变量来衡量结构加班(所有的衡量标准都是李克特 5 点量表)。这些问题衡量了结构的所有不同方面。我想将这三个变量计算为 R 中的一个新均值变量。我该怎么做?用 mutate 功能?我试过了,但我不确定它是否正确:

mutate(df,Working.Overtime = Q1,Q2,Q3)

我希望它足够清楚,并提前感谢您的帮助。

解决方法

我们可以使用unite

library(dplyr)
library(tidyr)
df %>%
    unite(Working.Overtime,Q1,Q2,Q3)

如果我们需要 mean,请使用 rowMeans

df <- df %>%
   mutate(Mean = rowMeans(select(.,Q3),na.rm = TRUE))
,

如果您只是想使用直接平均值:

library(dplyr)

df %>%
  rowwise() %>%
  mutate(Working.Overtime = mean(c(Q1,na.rm = TRUE))