小编Con*_*sed的帖子

数据转换避免了R中的嵌套循环

我有一个列为6列37行的列联表数据矩阵.我需要应用Chi平方变换来给出行轮廓和柱轮廓以进行对应分析.

不幸的是,我被告知我将需要使用嵌套循环来转换数据并执行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]
  }
}
Run Code Online (Sandbox Code Playgroud)

根据我的理解,通过使用嵌套循环,它将首先将"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)
Run Code Online (Sandbox Code Playgroud)

所以单独使用这个子集我会期望第一行的行配置文件是:

0.002432689 0.0003291397 6.506803e-05 5.794379e-05
Run Code Online (Sandbox Code Playgroud)

并且第一列的列配置文件为:

0.0009473414, 0.0132572344, 0.0572742202, 0.0132863528 
Run Code Online (Sandbox Code Playgroud)

r transform nested-loops

9
推荐指数
1
解决办法
858
查看次数

标签 统计

nested-loops ×1

r ×1

transform ×1