我有一個數據幀如下圖所示車輛類型上市受傷人數:適用()和calcuating所有數據幀行第一行的比例
trqldnum <- data.frame(motorveh=c(796,912,908,880,941,966,989,984),
motorcyc=c(257,295,326,313,403,389,474,496),
bicyc=c(109,127,125,137,172,146,173,178))
trqldnum
# motorveh motorcyc bicyc
#1 796 257 109
#2 912 295 127
#3 908 326 125
#4 880 313 137
#5 941 403 172
#6 966 389 146
#7 989 474 173
#8 984 496 178
目前我計算第一的比例每個車型使用:
trqldprop <- t(apply(trqldnum,1,function(x) {
x/c(trqldnum[1,1],trqldnum[1,2],trqldnum[1,3])
}))
trqldprop
# motorveh motorcyc bicyc
#1 1.000000 1.000000 1.000000
#2 1.145729 1.147860 1.165138
#3 1.140704 1.268482 1.146789
#4 1.105528 1.217899 1.256881
#5 1.182161 1.568093 1.577982
#6 1.213568 1.513619 1.339450
#7 1.242462 1.844358 1.587156
#8 1.236181 1.929961 1.633028
這似乎有點難看,如果數據改變形狀,我需要手動更改函數的分母。如果我嘗試在apply()語句中使用以下內容,我最終會在列表的列表中顯示輸出。
function(x) x/c(trqldnum[1,])
我寧願結束與上面的數據幀結果,但我只是在試圖弄清楚它的混亂。
尼斯的答案,如果我有足夠的聲譽我想你+1。我承認我對矩陣運算不太熟悉,所以我現在有一個話題要在今天進行閱讀。 – thelatemail 2011-04-06 04:11:31