创建另一个变量多级回归值的新变量

Create a new Variable of values of another variable-multilevel regression

我准备创建一个多层次分析(我是个新手)。

在此分析中,我想测试预测变量的高值 (here:senseofhumor)(数值 - 转换为“高”、“低”、“中”)是否会预测(数字)结果比其他(数字)预测因子(senseofhomor-seriousness-friednlyness)更多。 我有一个包含很多人和群体的数据集,我想比较各组之间关于 SenseofhumorHIGH

影响的结果

该代码可能如下所示

RandomslopeEC <- lme(criteria(timepoint1) ~ senseofhumor + seriousness + friendlyness , data = DATA, random = ~ **SenseofhumorHIGH**|group)

出于这个原因,我通过

为我的数字预测器创建了值“高”“低”“中”
library(tidyverse)
DATA <- DATA %>% 
  mutate(predictorNew = case_when(senseofhumor< quantile(senseofhumor, 0.5) ~ 'low', 
                      senseofhumor > quantile(senseofhumor, 0.75)~'high', 
                      TRUE ~ 'med'))

现在它们看起来像这样:

Person Group senseofhumor
1 56 low
7 1 high
87 7 low
764 45 high

现在我意识到,如果我想测试我的想法,我可能需要将这个变量值分割成单独的变量。

你们知道如何生成变量吗?它们可能看起来像这样?

Person Group senseofhumorHIGH senseofhumorMED senseofhumorLOW
1 56 0 0 1
7 1 1 0 0
87 7 0 0 1
764 45 1 0 0
51 3 1 0 0
362 9 1 0 0
87 27 0 0 1

您觉得我的方法有意义吗?或者你有更好的主意吗?

非常感谢

欢迎学习 R。您将希望将这些类型的变量转换为“因子”,R 将能够相应地处理它们。为此,请使用 as.factor(variable) - 所以对您来说可能是 DATA$senseofhumor <- as.factor(DATA$senseofhumor)。如果需要转换多列,可以使用:

factor_cols <- c("Var1","Var2","Var3") # list columns you want as factors
DATA[factor_cols] <- lapply(DATA[factor_cols], as.factor)

由于您是新手,请注意此论坛通常用于解决无法在网上轻易找到的问题。这个问题比较常规,可以快速找到更多详细信息google search。虽然 SO 是学习 R 的好地方,但您将来可能会因为这样的常规问题而受到 SO 社区的惩罚。只是想帮助确保您不断学习!