我正在尝试对数据框中的变量进行变异,该数据框中包含我正在使用的数据集中 55 个变量中的 10 个。这 10 个变量中有 5 个是分类变量,因此,我试图将它们转换为因子(作为字符)。但是,每次 R 进行突变时,它都会将突变应用于这 5 个因素,就好像我从未将它们放入单独的数据框中一样。R 只会在 55 个变量的整个组中将突变应用于它们。我已经突出显示并重新运行整个代码,并多次单独为每个变量运行它仍然无法工作。当我在我想要的十个变量上使用 (view) 函数并将显示的表中的每个变量名悬停时,突变由于某种原因消失了,就好像我没有这样做一样。当我在整个数据集上使用 (view) 并执行相同操作时,突变就在那里。我' 我创建了多个数据框只是试图让它工作。我想也许我必须再次移动变量,然后突变才会出现,但事实并非如此。
现在我也遇到了 R 只应用一个突变的问题。如果我尝试将变量“qualslp”从数字突变为字符,然后对变量“sex”执行相同操作,则 r 会消除“qualslp”上的突变并恢复为数字,而“sex”成为字符向量.
下面提供的代码和屏幕截图。
包含我想在其上使用 mutate 函数的 10 个变量的数据框的屏幕截图(以黄色下划线)
sleepdata_nvars <-select(sleepdata,
age, sex, alchohol, smokenum, liteslp, wakenite, medhelp, qualslp, depress, ess)
sleepdata_nvars <- mutate(sleepdata,
sex = as.character(sex),
sex = fct_recode(sex,
"female" = "0",
"male" = "1"))
sleepdata_nvars <- mutate(sleepdata,
liteslp = as.character(liteslp),
liteslp = fct_recode(liteslp,
"yes" = "1",
"no" = "2"))
sleepdata_nvars <- mutate(sleepdata,
wakenite = as.character(wakenite),
wakenite = fct_recode(wakenite,
"yes" = "1",
"no" = "2"))
sleepdata_nvars <- mutate(sleepdata,
medhelp = as.character(medhelp),
medhelp = fct_recode(medhelp,
"yes" = "1",
"no" = "2"))
sleepdata_nvars <- mutate(sleepdata,
qualslp = as.character(qualslp),
qualslp = fct_recode(qualslp,
"very poor" = "1",
"poor" = "2",
"fair"= "3",
"good" = "4",
"very good" = "5",
"excellent" = "6"))