全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
9876 9
2011-05-14
sdata=read.table("D:/sdata.txt",header=T)
attach(sdata)

num=5
library(splines)
require(stats); require(graphics)
basis=bs(sdata$t, df=num)#产生5个B样条基

for (i in 1:num)
bs.i=basis[,i]

bs11=NULL
for (i in 1:num)
bs11=cbind(bs11,bs.i)    #请问这个循环哪里有问题,谢谢!

[/code]
二维码

扫码加我 拉你入群

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

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

全部回复
2011-5-14 12:12:52
你第一个for循环完了之后,bs.i等于basis[, 5]
然后第二个循环把它重复了5次。这应该不是你想要的结果吧。

我不懂B-spline,但是感觉你的两个for循环应该合并为
bs11<- NULL
for (i in 1:num)
    bs11 <- cbind(bs11, basis[,i])
二维码

扫码加我 拉你入群

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

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

2011-5-14 13:24:20
哦?!不过不明白为何楼主这么写?既然bs11 = NULL,为何不干脆只用basis,还需要添加NULL到cbind去?得出的结果 bs11不就等于basis了吗?
复制代码
二维码

扫码加我 拉你入群

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

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

2011-5-14 16:14:02
谢谢啊,现在可以了。我本想先看看bs.i,然后再把他们合在一起的,因为后面要分别用到这两部分。另外问一下,我有几个因变量,假设有3个,自变量是一样的,如何利用循环把得到的预测结果放在一起?
复制代码
二维码

扫码加我 拉你入群

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

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

2011-5-15 14:13:36
statchao 发表于 2011-5-14 16:14
谢谢啊,现在可以了。我本想先看看bs.i,然后再把他们合在一起的,因为后面要分别用到这两部分。另外问一下,我有几个因变量,假设有3个,自变量是一样的,如何利用循环把得到的预测结果放在一起?
复制代码
没有提供样本数据比较难帮到你, 只能建议试一试 lapply...
复制代码

二维码

扫码加我 拉你入群

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

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

2011-5-17 22:13:11
谢谢啊,s.1+s.2+s.3+s.4+s.4+s.5有没有简写的方式啊?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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