0

我正在尝试在两个数据集之间进行 T.test..

这是“数据集 1”

TIME        5    10      15      20      25
Specimen no.                        
1          15.2 30.5     41     12.5         16.2
2          13.1 16.2    12.5    Na       13.2
3          16.11 45.7   11.4    18.9    11.7
4          11.2  Na    9.11    20.7      19

还有另一个“Dataset2”

TIME        5   10        15      20    25

Specimen no.                        
1       11.8    34.8    14.2    19.9    23.4
2         NA    6.4     29.2    32.7    17.1
3       10.0    35.5    38.5    28.3    27.3
4       18.7    NA      11.5    14.6    18.9

我只想使用 t.test 比较从 dataset1 到 dataset2 的每 5 秒间隔。如何获得 p 值列表

到目前为止我只有这个

t.test(dataset1[[2]],dataset2[[2]])$p.value...

显然这是错误的......因为我不知道如何从 dataset1 和 dataset2 访问某些列......我也有 NA 值可能会收到错误消息

4

1 回答 1

0

dataset1如果和的列数dataset2相等,则可以这样编写for循环:

pval = rep(0, ncol(dataset1))
for(i in 1:ncol(dataset1)){
    pval[i] = t.test(dataset1[, i], dataset2[, i], na.action = na.omit)$p.value
}

在这里,dataset1[, i]表示第ith 列,na.omit将删除NAs 然后执行测试。

于 2013-10-06T02:26:48.863 回答