我正在开发一个数据集,其中包含了我所做的一项调查的数据。该调查与心理健康有关,一些领域的高分表明心理健康状况较差,而另一些领域的心理健康状况良好。因此,使用mutate()和rowwise(),我现在尝试使用mutate中的逻辑运算符来计算域分数。我尝试了下面的小数据来检查,看上去还好,但它感觉像是一个粗略的解决方案,任何关于如何改进的想法,或者说这可以吗?
我的数据与此相似:
#Create fake data where x, y and z are facet scores.
df <- tibble(x = 1:2, y = 3:4, z = 5:6)
#Calculate domain score (m) where high score on y is negative.
df %>% rowwise() %>% mutate(m = mean(c(x, 3-y, z)))注意:在我的“真实”数据中,我从域内的面数减去,使用3来检查R是如何处理减法的。
第一次问问题,希望我的例子都可以。
谢谢预先//特快专递
发布于 2020-10-13 14:57:15
我将更改需要更改的列,然后使用rowMeans,这将比使用rowwise和mean快得多。
library(dplyr)
df %>% mutate(y = 3 - y) %>% mutate(m = rowMeans(.)) 发布于 2020-10-14 00:06:55
我们可以用base R
df$y <- 3 - df$y
df$m <- rowMeans(df) https://stackoverflow.com/questions/64337222
复制相似问题