首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R中特定因素的t检验

R中特定因素的t检验
EN

Stack Overflow用户
提问于 2015-02-15 18:28:36
回答 1查看 2.2K关注 0票数 1

我有一个有几个变量的数据集:

X是一个数值变量,Y和Z是只包含2个因子的因子变量(Y=1,2 Z=3,4)

代码语言:javascript
运行
复制
             x y z
1  -0.59131983 1 3
2   1.51800178 1 3
3   0.03079412 1 3
4  -0.43881764 1 3
5  -1.44914000 1 3
6  -1.33483914 1 4
7   0.25612595 1 4
8   0.12606742 1 4
9   0.44735965 1 4
10  1.83294817 1 4
11 -0.59131983 2 3
12  1.51800178 2 3
13  0.03079412 2 3
14 -0.43881764 2 3
15 -1.44914000 2 3
16 -1.33483914 2 4
17  0.25612595 2 4
18  0.12606742 2 4
19  0.44735965 2 4
20  1.83294817 2 4

如果我的因子变量是Y (t.test(X~Y)),那么t检验很容易执行.但我不知道如何进行t检验,例如,只比较Z (3和4)之间的Y==2的X值吗?

我不确定我是否正确地表达了自己,所以在桌子上看可能更容易。所以,我想对X做t检验,其中因子变量是Z和Y==2,我怎么能这样做呢?在STATA中很简单:测试var1 if var3==3,by(var2)

但我不明白R:

代码语言:javascript
运行
复制
         x     y  z
11 -0.59131983 2 3
12  1.51800178 2 3
13  0.03079412 2 3
14 -0.43881764 2 3
15 -1.44914000 2 3
16 -1.33483914 2 4
17  0.25612595 2 4
18  0.12606742 2 4
19  0.44735965 2 4
20  1.83294817 2 4
EN

回答 1

Stack Overflow用户

发布于 2015-02-28 15:25:04

如果您阅读R中的t.test文档,您将看到对于一个示例t.tests,您不应该使用函数的公式接口(输入?t.test):

公式接口仅适用于2-样本测试.

因此,在您的情况下,您需要根据您指定的条件创建data.frame的子集,如下所示:

代码语言:javascript
运行
复制
df2 <- df[df$y==2 & df$z %in% c(3,4), ]

> df2
             x y z
11 -0.59131983 2 3
12  1.51800178 2 3
13  0.03079412 2 3
14 -0.43881764 2 3
15 -1.44914000 2 3
16 -1.33483914 2 4
17  0.25612595 2 4
18  0.12606742 2 4
19  0.44735965 2 4
20  1.83294817 2 4

然后使用以下语法运行一个示例t.test

代码语言:javascript
运行
复制
> t.test(x=df2$x)

    One Sample t-test

data:  df2$x
t = 0.1171, df = 9, p-value = 0.9094
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
 -0.7275964  0.8070325
sample estimates:
 mean of x 
0.03971805 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28529544

复制
相关文章

相似问题

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