Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mutate()和rowwise()中正确使用运算符_R - Fatal编程技术网

在mutate()和rowwise()中正确使用运算符

在mutate()和rowwise()中正确使用运算符,r,R,我正在处理一个数据集,其中包含我进行的一项调查的数据。这项调查与心理健康有关,一些领域的高分表明心理健康状况不佳,而另一些领域则表示心理健康状况良好。因此,使用mutate()和rowwise()我现在尝试使用mutate中的逻辑运算符计算域分数。我试过检查以下小数据,看起来还可以,但感觉像是一个粗略的解决方案,有没有关于如何改进的想法,或者这样可以吗 我的数据与此类似,请执行以下操作: #Create fake data where x, y and z are facet scores.

我正在处理一个数据集,其中包含我进行的一项调查的数据。这项调查与心理健康有关,一些领域的高分表明心理健康状况不佳,而另一些领域则表示心理健康状况良好。因此,使用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)))
#创建假数据,其中x、y和z是刻面分数。
df%rowwise()%%>%突变(m=平均值(c(x,3-y,z)))
注意:在我的“真实”数据帧中,我从域中的面数中减去平均值,用3来检查R如何处理减法

第一次问问题,希望我的例子都可以

提前谢谢
//Ems

我会更改需要更改的列,然后使用
rowMeans
,这比使用
rowwise
means
要快得多

library(dplyr)

df %>% mutate(y = 3  - y) %>% mutate(m = rowMeans(.)) 

我们可以使用
base R

df$y <- 3 - df$y
df$m <- rowMeans(df) 

df$y谢谢!这似乎是一种更快更干净的方法。