楼主: pingguzh
4686 6

[问答] 请教怎么分组做正态性检验 [推广有奖]

  • 0关注
  • 4粉丝

菜鸟

副教授

48%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
20.1546
学术水平
1 点
热心指数
7 点
信用等级
3 点
经验
19966 点
帖子
873
精华
0
在线时间
433 小时
注册时间
2012-10-29
最后登录
2024-1-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教大家
假如我的数据框有3个变量,一个是分组变量g,2个是numeric变量,x1-x2
g<-c(1,1,1,2,2,2)
x1<-c(1.5,3,5,9,15,18)
x2<-c(2,3,6,8.1,9,15)

分别在g=1和g=2的情况下,对x1和x2做正态性检验
shapiro.test()

我现在能想到的办法,是先subset,把原始数据分为两个数据框
然后分别在每个数据框,做正态性检验shapiro.test(g1$x1), shapiro.test(g1$x2), shapiro.test(g2$x1), shapiro.test(g2$x2)

但是这样操作非常麻烦,而且对于很多个x变量时,这个方法太繁琐

商业软件比如spss、sas等,都有split file或者by语句来分组做正态性检验,很简单

请问号称代码简单的R语言,对于这种情况应该怎么处理呢?


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:正态性检验 numeric Eric 数据框 NUM

统计爱好
沙发
pingguzh 发表于 2018-5-16 11:21:28 |只看作者 |坛友微信交流群
如果用写function的方法, 应该怎么写呢

使用道具

藤椅
keithchan13 发表于 2018-5-16 12:34:14 |只看作者 |坛友微信交流群
tapply(x1,g,shapiro.test)
tapply(x2,g,shapiro.test)
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
pingguzh + 1 + 2 + 1 + 1 精彩帖子

总评分: 论坛币 + 1  学术水平 + 2  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

板凳
pingguzh 发表于 2018-5-16 14:42:52 |只看作者 |坛友微信交流群
感谢keithchan13,可是如果是很多个变量,这个方法也会有些繁琐
有没有更好的方法呢,比如我有x1-x100这么多个变量

使用道具

报纸
pingguzh 发表于 2018-5-16 14:47:15 |只看作者 |坛友微信交流群
当x1和x2来自于数据框frame1时,为什么我这样写不对呢?

  1. tapply(frame1$x1,frame1$g, shapiro.test,data=frame1)
复制代码

使用道具

地板
pingguzh 发表于 2018-5-16 15:04:01 |只看作者 |坛友微信交流群
$这个符号显示不出来

使用道具

7
孙小清 发表于 2021-2-21 17:36:04 |只看作者 |坛友微信交流群
pingguzh 发表于 2018-5-16 14:47
当x1和x2来自于数据框frame1时,为什么我这样写不对呢?
我也遇到了类似的问题,输入的是csv形式的数据框,但是在使用tapply函数时,一直在报错。请问你最后怎么解决的啊?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 17:24