Statistics 板


LINE

动态变数的指定 常用的方法是用list 根据之前的文章 可以有一些有趣的应用 以下提供几个范例 #### for (i in 1:10) { eval(parse(text = paste("x",i, " <- ", i, sep=""))) } #### A <- "I am A" B <- "I am B" for(i in c("A", "B")){ eval(parse(text = paste("call",i, " <- ", i, sep=""))) } #### C <- "I am C" D <- "I am D" for(i in c("C", "D")){ assign(paste("call",i, sep=""), i) } Note: assign() 与 eval(parse()) 的效果并不相同 ※ 引述《gsuper (统计的巴比伦塔)》之铭言: : 标题: [程式] R呼叫变数 : 时间: Wed Sep 8 17:35:28 2010 : : : : : 请问一下 : : 如果我有个变数名如下 : : > a <- 1 : > b <- 2 : > ls() : [1] "a" , "b" : : : 现在我想把 a 和 b 变成 list : 但因为我的 "a" 和 "b" 是动态产生的 : 所以我不能写死成 huge <- list(a,b) : : 请问有什麽 function 可以透过字串来呼叫变数 : 比方说我输入 function("a") : 就能叫出 1 这个数字 ? : : : : -- : : -- :



※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 140.113.239.247 : → ablazekandyh:huge[[1]]? 09/08 20:28 : 推 Wush978:eval(parse(text="a")) 09/08 21:01 : → Wush978:by 版友clickhere某次推文 09/08 21:01 : → Wush978:不知道这是不是你要的 09/08 21:02 : : Yes! : : That`s exactly what I want. : : Thank you! : ※ 编辑: gsuper 来自: 140.113.239.247 (09/08 21:11) --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.73.18
1F:推 gsuper:这内文好眼熟XDD 谢谢啦 06/02 22:50
2F:→ gsuper:我之前是用 assign() 也不错 06/03 13:12
3F:→ memphis:cool assign 更直觉 eval parse 比较像low level function 06/03 14:49
4F:→ memphis:疑.. 试用的结果 这两招 不太一样 orz 06/03 14:54
※ 编辑: memphis 来自: 140.109.73.18 (06/03 14:58)
5F:→ gsuper:name<-paste("x",1:10,sep="_") 06/03 15:04
6F:→ gsuper:for(g in 1:10){assign(name[g],g*100)} 06/03 15:04
7F:→ gsuper:这样就会产生10个变数 06/03 15:04
8F:→ gsuper:eval那种是直接贴程式码进去 R,assign是内建的动态变数函数 06/03 15:08
9F:→ gsuper:前一种比较灵活 後面那种比较简单 反正都OK 06/03 15:09
10F:→ clickhere:这两个函数主要并不是用来做动态变数的. 06/05 08:28
11F:→ clickhere:加上get()和environment(),四个才是主要的应用. 06/05 08:29
12F:→ clickhere:内定的环境是.GlobalEnv,但你可以用environment()去新增 06/05 08:30
13F:→ clickhere:一个环境,然後用assign(),eval(),get()在一个封闭(乾净) 06/05 08:31
14F:→ clickhere:的环境中做运算.结束後再把它删除. 06/05 08:32
15F:→ clickhere:所以,一个function,其实就是一个临时的环境. 06/05 10:32
16F:→ memphis:请问在写什麽样的东西会用上这些env阿? 我还没有概念 06/06 08:59







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP