首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R包心理在一个变量中合并后的两个均值

R包心理在一个变量中合并后的两个均值
EN

Stack Overflow用户
提问于 2020-01-20 12:27:36
回答 2查看 56关注 0票数 0

我目前正在分析一个学生项目的数据。在分析过程中,我将两个变量组合成一个具有cbind()的变量:

代码语言:javascript
复制
interpas$GA02_01 <- cbind(interpas$LP02_01, interpas$ST02_01)

LP02_01和ST02_01这两个变量测量的问题相同,但媒体格式不同。两者之间没有重叠。结构如下:

代码语言:javascript
复制
LP02_01 ST02_01
1        NA
NA       2
NA       5
4        NA

所以他们只是结合在一起。当我用R中内置的平均值()函数计算平均值时,我得到了新变量GA02_01的平均值。

但是,当我使用包心理的平均值函数,或者用于描述性统计的任何其他函数(如描述)时,它仍然分别计算两个变量LP02_01和ST02_01。如下所示:

代码语言:javascript
复制
> describe(interpas$GA02_01)
   vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
X1    1 151 3.62 1.89      4    3.59 1.48   1   7     6 0.00    -1.24 0.15
X2    2  63 2.70 1.92      2    2.45 1.48   1   7     6 0.85    -0.64 0.24

有人知道解决这个问题的办法吗?不幸的是,我需要用于进一步分析的心理包中的描述函数倾斜和kurtosi,以及检查正态分布的函数。

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-20 13:11:03

您只需要unlist您的数据框架。然而,确保您以正确的方式(为您的使用)选择所需的列。例如,在使用cbind时,可以创建矩阵。您只需使用索引,即df[1:2] (用于第一列和第二列)或名称,即df[,c("LP02_01", "ST02_01")]。这样,您就可以得到一个数据帧对象。然后您可以只使用unlistdescribe(),即

代码语言:javascript
复制
psych::describe(unlist(interpas[, c("LP02_01", "ST02_01")]))
#   vars n mean   sd median trimmed  mad min max range skew kurtosis   se
#X1    1 4    3 1.83      3       3 2.22   1   5     4    0    -2.24 0.91
票数 0
EN

Stack Overflow用户

发布于 2020-01-20 13:07:10

我会调查一下

所以你可能想要这样的东西:

代码语言:javascript
复制
df%>%
mutate(new_var = coalesce(old_var1, old_var2)%>%
select(-c(old_var1,old_var2))

下面是dplyr中函数的文档。https://www.rdocumentation.org/packages/dplyr/versions/0.7.8/topics/coalesce

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59823294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档