全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5632 8
2011-05-24
编了下面一段程序,其中必要的参数step、datai等都已在前面的程序段指定。想通过for循环计算不同的numofLi值对应的valueq[[j]]的值j/(numofLi+1),并将其所有计算值存在文本valueq.txt。究竟这个valueq应该如何定义才好呢??初学者,望高手们不吝赐教。计算中遇到的问题附后。
valueq=list()
for (i in 1:step)
{
numofLi=length(datai[[i]])
write(numofLi,file="numofLi.txt",ncolumns=1,append=TRUE,sep="  ")
sortq<-sort(datai[[i]])
for (j in 1:numofLi)
{
valueq[[j]]=j/(numofLi+1)
}
write(valueq,file="valueq.txt",ncolumns=1,append=TRUE,sep="  ")
write(sortq,file="sortq.txt",ncolumns=1,append=TRUE,sep="  ")
}

提示错误:
错误于cat(list(...), file, sep, fill, labels, append) :
  cat目前还不能处理1(种类为'list')参数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-5-24 10:19:54
直接把valueq定义成向量不就好了,为什么要用list呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-24 10:27:32
2# ltx5151
需要额外语句定义向量吗?直接用valueq=1/(numofLi+1)语句没法得到循环过程中的所有值,只能得到最后循环的值。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-24 11:16:55
版主,对上面这个问题应该怎么处理好?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-24 11:32:19
valueq <- rep(0,step)
然后
for(i in 1:step){
##你的程序
valueq <- #你要赋的值
}
其实根据你上面的程序,可以不用循环,而使用lapply,这样会更高效些。不过如果你的数据量不是很大,看不出区别,用循环更直观一些。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-24 11:46:28
感谢版主的热情解答。我再根据您的建议调试下程序看看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群