我正在努力将在matlab中实现的复杂项目转换为R.我在将代码转换为R时遇到问题(一种有效的方法) Matlab的:
for r = 1:nSubjects
temp = reshape(values(r,:),4,10);
temp = [sum(temp([1 2],:));sum(temp([3 4],:))];
temp = reshape(temp,1,20);
X(r,nextCol:(nextCol+19)) = temp;
end
我尝试过可能的方法,包括sum,colSums函数。但是,我收到错误
我的R代码
for(r in 1:nSubjects){
temp = values[1,];
temp <- matrix(temp, 4, 10);
colSums(temp[1:2,]) <- this or something similar to do steps 2 & 3
}
colSums在colSums中给出错误(temp [1:2,]):&#39; x&#39;必须是数字。不确定如何去做。由于我是R的新手,所以需要任何帮助。
谢谢,
编辑:使用请求的信息更新帖子(再次感谢您的帮助)
算法: 该算法用于分析按10组分组的数据,其中每组依次由4个值组成。 例如,下面是值(变量)中的1行的内容。
0.100000000000000 0.500000000000000 0.100000000000000 0.300000000000000 0.200000000000000 0.500000000000000 0.200000000000000 0.100000000000000 0.200000000000000 0.500000000000000 0.200000000000000 0.100000000000000 0.400000000000000 0.200000000000000 0.200000000000000 0.200000000000000 0.100000000000000 0.300000000000000 0.300000000000000 0.300000000000000 0.200000000000000 0.100000000000000 0.200000000000000 0.500000000000000 0.100000000000000 0.600000000000000 0.200000000000000 0.100000000000000 0.200000000000000 0.500000000000000 0.100000000000000 0.200000000000000 0.200000000000000 0.200000000000000 0.300000000000000 0.300000000000000 0 0.300000000000000 0.400000000000000 0.300000000000000
我想将此转换为像
这样的摘要0.600000000000000 0.400000000000000 0.700000000000000 0.300000000000000 0.700000000000000 0.300000000000000 0.600000000000000 0.400000000000000 0.400000000000000 0.600000000000000 0.300000000000000 0.700000000000000 0.700000000000000 0.300000000000000 0.700000000000000 0.300000000000000 0.400000000000000 0.600000000000000 0.300000000000000 0.700000000000000
其中上面一行中的每个值是值中的两个连续数字的总和(变量名称行)。
对于值中的行 添加连续的列值,因此值有40列,它将减少到20列 将创建的摘要数据行附加到名为temp的新矩阵。
结束班级(临时)的输出 [1]&#34;矩阵&#34;