繁体   English   中英

t.test 在 R 中针对特定列值(删除所有不等于某个行值的)

[英]t.test in R for a specific column value (removing all that does not equal a certain row value)

我的数据“TIME”中有一个列,它具有三个不同值之一(可以是 000,007,014)。 我想对数据运行t.test()但仅当 TIME 为 000 时。

这是我的尝试:

attach(data_all) # My data

t.test(CD4~SEX) # Column CD4 over column SEX

我的问题是,如何指定仅包含 TIME 列为 000 时的行? 我已经阅读了文档,并查找了不同的博客文章和视频,但还没有找到一种方法来做到这一点。 有任何想法吗?

编辑:

我试过像这样使用 dplyr filter() :

data_all %>% filter(TIME != 000)

但它不会过滤掉所有非 000 TIME 行

尝试这个。 第一个代码将与附加数据一起使用:

#Code
t.test(CD4~SEX,subset = TIME=="000")

您也可以尝试:

#Code1
t.test(CD4~SEX,subset = TIME %in% c("000"))

作为一个例子:

#Code 2
t.test(extra ~ group, data = sleep,subset = ID %in% c('1','2'))

它会起作用。

在没有附加数据的情况下,您可以使用:

#Code3
t.test(CD4~SEX,data=data_all,subset = TIME=="000")

我们也可以做

library(dplyr)
data_all %>%
  subset(TIME != "000") %>%
   t.test(CD4 ~ SEX, data = .)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM