t条件下多列之间的测试

时间:2018-04-13 05:36:16

标签: r

我正在尝试在R中的值之间运行t检验。数据集看起来有点像这样:

Name Date       maths_marks     science_marks     english_marks    history_marks
a    1/1/2018      67               86                78                54 
a    2/1/2018       0               46                64                28
a    3/1/2018      95               81                76                56 
a    4/1/2018      76               75                 0                43
a    5/1/2018      67               86                78                54
a    6/1/2018      95               81                76                56
a    7/1/2018       0               46                64                28

我正在使用adply在不同列之间进行测试,但我还想在包含该主题记录的t测试时包括条件以排除0标记记录。

例如,如果在数学和科学标记之间进行t_test,我想排除日期为2/1/2018的记录,因为数学为0并在剩余记录之间进行t_test。其他t_tests也是如此。

有人可以帮我解决所需的问题。

1 个答案:

答案 0 :(得分:0)

或许只需用NA替换所有0分并运行测试?

> marks[marks == 0] <- NA_character_
> marks
  Name     Date maths_marks science_marks english_marks history_marks
1    a 1/1/2018          67            86            78            54
2    b 2/1/2018        <NA>            46            64            28
... and so on

> t.test(as.numeric(marks[,2]),as.numeric(marks[,3]))

    Welch Two Sample t-test

data:  as.numeric(marks[, 2]) and as.numeric(marks[, 3])
t = -11.889, df = 4.133, p-value = 0.0002377
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -93.52597 -58.47403
sample estimates:
mean of x mean of y 
        4        80