全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2103 5
2017-04-13
for循环中,循环变量的简单问题?求助各位大神帮助解答。
QQ截图20170413160437.png
循环变量m为什么无法随着m从1到18的变动,识别变量gfzxzmatrix_1,gfzxzmatrix_2,gfzxzmatrix_3,.....gfzxzmatrix_18 呢???
二维码

扫码加我 拉你入群

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

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

全部回复
2017-4-13 21:03:01
因为R把gfzxzmatrix_m看做一个变量,而不是把gfzxzmatrix_和m分开识别
二维码

扫码加我 拉你入群

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

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

2017-4-15 18:10:57
这个问题用paste函数就可以解决,把gfzxzmatrix_m替换为paste("gfzxzmatrix_", "m", sep=""),包括后面的log中的变量也是一样的。但是赋值符号”<-"前不能用paste函数。
二维码

扫码加我 拉你入群

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

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

2017-4-16 09:54:03
for(m in 1:10){
  eval(parse(text = paste("tp = gfzxzmatrix_", m, sep = "")))
  h[m] = (-k)*(tp%*%log(tp))
}
二维码

扫码加我 拉你入群

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

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

2017-4-17 11:34:53
stzhao 发表于 2017-4-13 21:03
因为R把gfzxzmatrix_m看做一个变量,而不是把gfzxzmatrix_和m分开识别
谢谢解释问题原因,感谢!
二维码

扫码加我 拉你入群

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

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

2017-4-17 11:35:11
pkl 发表于 2017-4-15 18:10
这个问题用paste函数就可以解决,把gfzxzmatrix_m替换为paste("gfzxzmatrix_", "m", sep=""),包括后面的lo ...
谢谢解答,感谢!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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