全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1967 2
2018-04-18
h<-seq(from=0.1,to=0.5,by=0.01)
k1<-matrix(NA,nrow = length(testxy$x),ncol =length(trainxy$x))
kh<-function(x0,x,h){
  for(i in 1:length(testxy$x)){
    for(j in 1:length(trainxy$x)){
      m<-(x0[i]-trainxy$x[j])/h
      k1[i,j]<-k(m)/h
  }
    }
  return(k1)
}
for(i in 1:length(h)) {
  K<-kh(testxy$x,trainxy$x,h[i])
}
a<-apply(K,MARGIN = 1,FUN = sum)
y1<-matrix(trainxy$y,nrow = 99,ncol = 1)
b<-K%*%y1
y2<-b/a
为什么只用了最后一个i的值
二维码

扫码加我 拉你入群

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

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

全部回复
2018-4-19 09:13:21
没太懂说的哪块的 for loop。是不是

复制代码


就是你说的 for 循环。
你没有存下每次循环的结果,而是每次结果都赋值给 K, 你跑完之后,当然 K 就只是最后一个 i,即 h的结果赋值给 K 了啊。其实 R 是跑了每个 i 的,只是你不停赋值给 K 就把之前的结果覆盖了。

我觉得,用 sapply 吧还是
二维码

扫码加我 拉你入群

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

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

2018-4-19 12:22:04
菊花冰糖水 发表于 2018-4-19 09:13
没太懂说的哪块的 for loop。是不是


嗯嗯,我弄了一个矩阵给K赋值,谢谢
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

分享

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