楼主: ewrw3242
2528 6

[问答] 请问 R里面可以有类似 excel中 indirect()的用法吗? [推广有奖]

  • 4关注
  • 0粉丝

大专生

1%

还不是VIP/贵宾

-

威望
0
论坛币
527 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
211 点
帖子
10
精华
0
在线时间
67 小时
注册时间
2007-12-13
最后登录
2017-9-29

楼主
ewrw3242 发表于 2017-1-9 20:54:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在excel中,透过计算,将一定的字串组合起来,传进 indirect()中,excel可以将字串当成实际的指令执行,在 R中可以这样做吗?例如
有个数据框是 A1:A5
For (X in 1:5) { acf(paste("A",X",sep=""))
词不达意,请见谅
并谢谢答复?
二维码

扫码加我 拉你入群

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

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

关键词:indirect Direct EXCEL INDI exce excel 函数

沙发
ewrw3242 发表于 2017-1-9 21:07:12
自问自答,看到一个用法是 as.formula
https://site.douban.com/182577/widget/notes/10567181/note/318916395/

基本上想达成的做法类似于    x <- as.formula("2+2")
直接这样做的结果是
Error in formula.default(eval(parse(text = x, keep.source = FALSE)[[1L]])) :
  invalid formula

还没细看,欢迎高手指导

藤椅
ewrw3242 发表于 2017-1-9 21:43:26
还是我自己回答,是可行的。
而且没有那么麻烦,就是将变数指定出来,然后直接放进来就行了,不关 as.formula的事。
PPP <- c("A1","A2","A3")
for (x in 1:3) { YYY[x] <- 5+PPP[i]}

谢谢各位,发问就会想答案,想着想着居然过关了。
已有 1 人评分论坛币 收起 理由
jiangbeilu + 5 提问就是思考

总评分: 论坛币 + 5   查看全部评分

板凳
jiangbeilu 学生认证  发表于 2017-1-10 09:38:44
  1. a1=2
  2. eval(parse(text=paste0("a",1)))
复制代码

用eval+parse可以将字符变成变量
已有 1 人评分热心指数 收起 理由
ewrw3242 + 1 好的意见建议

总评分: 热心指数 + 1   查看全部评分

报纸
ewrw3242 发表于 2017-1-11 17:26:25
jiangbeilu 发表于 2017-1-10 09:38
用eval+parse可以将字符变成变量
  1. > a1=2
  2. > eval(parse(text=paste("a",1,sep="")))
  3. [1] 2
复制代码
sep内定为空格,修改掉就OK了
感谢

地板
jiangbeilu 学生认证  发表于 2017-1-11 19:31:52
ewrw3242 发表于 2017-1-11 17:26
sep内定为空格,修改掉就OK了
感谢
paste0和paste有区别的
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ewrw3242 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

7
ewrw3242 发表于 2017-1-11 22:20:22
jiangbeilu 发表于 2017-1-11 19:31
paste0和paste有区别的
您是对的,
谢谢您

新白

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 13:15