作者jpt (You'll Never Walk Alone)
站内Statistics
标题[程式] R 回圈设计第二问
时间Wed Dec 28 00:19:24 2011
[软体程式类别]:
R
[程式问题]:
回圈
[软体熟悉度]:
中(3个月到1年)
[问题叙述]
c1=xx[(xx[,1]==0.75),2]
mc1=matrix(0,1,42)
for(j in 1:length(c1))
{ mc1[1,j]=(c1[j]-qu[1,1])^2}
c2=xx[(xx[,1]==1.5),2]
mc2=matrix(0,1,42)
for(j in 1:length(c2))
{ mc2[1,j]=(c2[j]-qu[1,2])^2}
.
.
.
c23=xx[(xx[,1]==17.25),2]
mc23=matrix(0,1,42)
for(j in 1:length(c23))
{ mc23[1,j]=(c23[j]-qu[1,23])^2}
这是写好的第一个回圈, 我需要从c1做相同的事情,随着0.75、1.5,...,17.25,
每隔0.75增加到17.25,进行23次相同的事,
mc1的矩阵大小会随着从xx矩阵中取出来的数目改变,
我想要在这一个回圈外在包一个回圈上去,
进行这25次重复的动作
我尝试写回圈,如下:
dist1=c(seq(0.75,18.75,by=0.75))
for (i in 1:length(dist1)){
for(j in 1:length(c[i])){
c[i]=xx[(xx[,1]==dist1[i]),2]
mc[i]=matrix(0,1,length(c[i]))
mc[i][1,j]=(c[i][j]-qu[1,i])^2
}
}
但是会出现错误
"错误在c[i] : object of type 'builtin' is not subsettable"
我不知道该如何解决这个错误 = =
还请各位前辈帮看哪里该修改,谢谢
第一次尝试写回圈,很多眉角不甚了解
请各位大大多指点了,谢谢
-----------------------------------------------------------------------------
--
有个希腊人在鱼群如梭的海边钓鱼,钓到两条就收竿回家.
外国游客问:为什麽不多钓几条? 他反问:多钓几条干什麽?
外国游客说:多钓可以卖钱,然後买船,买房,开店,投资......
"然後呢?"他问.
"然後你就可以悠闲晒着太阳在海边钓鱼"外国游客说.
"这我已经做到"他说
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.191.40
※ 编辑: jpt 来自: 118.170.191.40 (12/28 00:20)
1F:→ clickhere:dist1 <- seq(0.75,18.75,by=0.75) 12/28 02:53
2F:→ clickhere:c(...) 是多余的, 请用 <- 取代所有的 = 12/28 02:54
3F:→ clickhere:c[i] 没有初始化? c <- NULL 12/28 02:54
4F:→ clickhere:c[i][j] 为何 c 变成 list? 12/28 02:55
5F:→ clickhere:你要的是 c[i, j]? 还有 c 是一个 R 内定的函数名. 12/28 02:56
6F:→ jpt:谢谢!! 12/28 09:01