作者moonbat (糙 咬我阿)
看板Statistics
标题[程式] 矩阵输出及输出存档问题 for R
时间Fri May 11 17:02:52 2012
[软体程式类别]:
R
[程式问题]:
资料处理
[软体熟悉度]:
(1年以上)
[问题叙述]:
我自己写了一个function,而当中final为最终我要的结果
##a、b、c皆为double属性
aaa=function(data,data2){
final=t(c(round(a,2),round(b,2),round(c,2)))
final
}
而我的主程式中,以回圈的方式运用function帮我计算资料
##dim(output)=c(20,3),dim(data)=dim(data2)=18
for(i in 1:20){
output[i,]=aaa(data[i,],data2[i,])
}
但output却出现下标数目不正确的错误
输出结果:
[[1]]
[1]28.48
[[2]]
[1]0
....
..
..
我预期的矩阵维度应该是20*3,不晓得哪个环节出了问题。
另外,想请教一下有关输出存档的问题。
请问只能用sink()存成文字档吗?(因为觉得以excel档开文字档排版有点麻烦)
不晓得是不是可以将输出存成excel档。
还请各位前辈给予指点。
非常感谢!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.241.14.158
1F:推 Wush978:try write.csv 05/11 19:13
2F:→ Wush978:你可能可以在执行这些动作之前检查 class(out) 05/11 19:14
3F:→ Wush978:更正: class(output) 05/11 19:14
4F:推 gsuper:在回圈中加入一行 print(class(aaa(data[i,],data2[i,]))) 05/14 16:24
5F:→ gsuper:看看是哪笔出问题 05/14 16:24
6F:→ gsuper:输出结果会变成list,是因为你的function做出的东西长度不同 05/14 18:13
7F:→ gsuper:若 class 没问题就改用 length() 05/14 18:14
8F:→ moonbat:感谢两位大人的指教!我的问题莫名奇妙的解决了... 05/15 13:56
9F:→ moonbat:我程式回圈内容有个地方想错造成的错误 05/15 13:58
10F:→ moonbat:又学到一招可以用class()来除错,好用!!!非常感谢!!! 05/15 13:59
11F:→ moonbat:喔对~write.csv也成功了,感谢!!!学到好多!!! 05/15 14:09