[問題] 用for迴圈算zscore
- 問題: 用for迴圈算z-score遇到的問題
[問題類型]
程式諮詢
[軟體熟悉度]:
新手(沒寫過程式,R 是我的第一次)
[問題敘述]:
不好意思小妹初學R又來打擾
想要把分數依照每位受試者去算z score
每位受試者有8個觀察值
於是我先分別計算平均數和標準差,如下
A20是我要標準化的變項,sub是受試者編號
wtpmean=aggregate(dat$A20,by=list(dat$sub),mean)
colnames(wtpmean)=c("sub","mean")
wtpsd=aggregate(dat$A20,by=list(dat$sub),sd)
colnames(wtpsd)=c("sub","sd")
接著我想要用迴圈來把分數標準化
zscore=0
for(i in 1:length(dat$A20)){
zscore=(subset(dat$A20,dat$sub==i)-wtpmean$mean[i])/wtpsd$sd[i]}
但是這裡就出現問題了,我的zscore是空的,我不知道是哪裡寫錯了
還是迴圈的用法不對呢?
[環境敘述]:
R version 3.3.0 (2016-05-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
locale:
[1] LC_COLLATE=Chinese (Traditional)_Taiwan.950
[2] LC_CTYPE=Chinese (Traditional)_Taiwan.950
[3] LC_MONETARY=Chinese (Traditional)_Taiwan.950
[4] LC_NUMERIC=C
[5] LC_TIME=Chinese (Traditional)_Taiwan.950
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
loaded via a namespace (and not attached):
[1] tools_3.3.0
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.166.145
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1467705681.A.E54.html
※ 編輯: amygm307 (36.226.166.145), 07/05/2016 16:08:52
推
07/05 16:25, , 1F
07/05 16:25, 1F
→
07/05 16:25, , 2F
07/05 16:25, 2F
可以請問%>%是什麼意思嗎?常看到但google搜尋不到,因為是符號吧哈
推
07/05 16:27, , 3F
07/05 16:27, 3F
推
07/05 16:31, , 4F
07/05 16:31, 4F
好的我試試看!
→
07/05 16:33, , 5F
07/05 16:33, 5F
是噢!我自己帶入1結果是對的,但是用迴圈就是不work
(subset(dat$A20,dat$sub==1)-wtpmean$mean[1])/wtpsd$sd[1]
※ 編輯: amygm307 (1.160.56.3), 07/05/2016 21:28:42
→
07/05 22:22, , 6F
07/05 22:22, 6F
→
07/05 22:23, , 7F
07/05 22:23, 7F
推
07/05 22:23, , 8F
07/05 22:23, 8F
→
07/05 22:23, , 9F
07/05 22:23, 9F
→
07/05 22:24, , 10F
07/05 22:24, 10F
→
07/06 21:16, , 11F
07/06 21:16, 11F
→
07/08 13:57, , 12F
07/08 13:57, 12F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
問題
4
12