6 列 37 行の分割表データ マトリックスがあります。コレスポンデンス分析用の行プロファイルと列プロファイルを得るには、カイ二乗変換を適用する必要があります。
残念ながら、ネストされたループを使用してデータを変換し、CA を実行する必要があると言われました (R でより賢明な方法で行うのではなく)。ネストされたループに使用する構造が与えられました。
transformed.data=data0
for (row.index in 1:nrow(data)) {
for (col.index in 1:ncol(data)) {
transfomed.data[row.index,col.index]=
"TRANSFORMATION"[row.index,col.index]
}
}
ネストされたループを使用して理解していることから、最初に「TRANSFORMATION」を行に適用し、次に列に適用します。
行プロファイルを取得するためにデータに対して実行したい変換は次のとおりです。
( X( ij ) / sum( X( i ) ) ) / sqrt( sum( X( j ) ) )
列プロファイルを取得するためにデータに対して実行したい変換は次のとおりです。
( X( ij ) / sum( X( j ) ) ) / sqrt( sum( X( i ) ) )
ネストされたループの最後の行に「TRANSFORMATION」として何を入力して、プロファイルの目的の変換を出力できるようにしますか。そうでなければ、ここでネストされたループのポイントを理解していない場合は、それによって何ができるかを説明してください.
これは私のデータのサブセットのコードです:
matrix(c(15366,2079,411,366,23223,2667,699,819,31632,2724,717,1473,49938,3111,1062,11964)
,nrow=4,ncol=4,byrow=T)
したがって、このサブセットを単独で使用すると、最初の行の行プロファイルは次のようになると予想されます。
0.002432689 0.0003291397 6.506803e-05 5.794379e-05
そして、最初の列の列プロファイルは次のようになります。
0.0009473414, 0.0132572344, 0.0572742202, 0.0132863528