1

200 を少し下回る変数を 3 回測定した実験があります。つまり、値が 200 以下の 3 つのベクトルがあります。

計算に平均値と中央値のどちらを使用する必要があるかをすばやく判断する方法が必要です。平均値は簡単(v1 + v2 + v3) / 3に計算できますが ( )、SD を計算して 200 SD までのベクトルにする方法を教えてください。そして、中央値はどうですか?これらの値を取得したら、成長曲線を作成する必要があります (測定は一定期間にわたって行われました)。

4

3 に答える 3

0

applyあなたがすることです。ベクトルをマトリックスにします。

mydat <- matrix(rnorm(600), ncol = 3)
means <- apply(mydat, MARGIN = 1, mean) # MARGIN = 1 is rows, MARGIN = 2 would be columns...
sds <- apply(mydat, MARGIN = 1, sd)
medians <- apply(mydat, MARGIN = 1, median)

言わざるを得ませんが、それぞれ 3 つの値があるため、中央値を使用するのはかなり疑問に思えます。

于 2014-11-04T00:42:26.107 に答える
0

Here is a dplyr solution:

require(dplyr)

d <- data.frame(
  x1 = rnorm(10),
  x2 = rnorm(10),
  x3 = rnorm(10)
  )

d %>%
  rowwise() %>%
  mutate(
    mean = mean(c(x1, x2, x3)),
    median = median(c(x1, x2, x3)),
    sd = sd(c(x1, x2, x3))
    )

It sounds like you also have a substantive question about longitudinal data. If so, crossvalidated would be a good platform for this question.

于 2014-11-04T02:59:13.497 に答える
0

従来の「for」ループも使用できますが、推奨されません。

for(i in 1:nrow(d)) d[i,4]=mean(unlist(d[i,1:3]))
for(i in 1:nrow(d)) d[i,5]=sd(unlist(d[i,1:3]))
for(i in 1:nrow(d)) d[i,6]=median(unlist(d[i,1:3]))

names(d)[4:6]=c('meanval', 'sdval', 'medianval')

d
           x1         x2         x3     meanval     sdval  medianval
1  -1.3230176  0.6956100 -0.7210798 -0.44949580 1.0363556 -0.7210798
2  -1.8931166  0.9047873 -1.0378874 -0.67540558 1.4337404 -1.0378874
3  -0.2137543  0.1846733  0.6410478  0.20398893 0.4277283  0.1846733
4   0.1371915 -1.0345325 -0.2260038 -0.37444827 0.5998009 -0.2260038
5  -0.8662465 -0.8229465 -0.2230030 -0.63739866 0.3595296 -0.8229465
6  -0.2918697 -1.3543493  1.3025262 -0.11456426 1.3372826 -0.2918697
7  -0.4931936  1.7186173  1.3757156  0.86704643 1.1904138  1.3757156
8   0.3982403 -0.3394208  1.9316059  0.66347514 1.1585131  0.3982403
9  -1.0332427 -0.3045905  1.1513260 -0.06216908 1.1122775 -0.3045905
10 -1.5603811 -0.1709146 -0.5409815 -0.75742575 0.7195765 -0.5409815

@DMCの回答からdを使用します。

于 2014-11-04T17:06:50.410 に答える