Re: [問題] 函數輸入 自動命名

作者: HeroNoah   2016-04-17 12:52:23
key_value = function(a) {
x = as.list(a + seq_along(a))
names(x) = paste0(substitute(a), seq_along(a))
return(x)
}
測試結果:
k = c(1, 2, 3)
attach(key_value(k))
k1
k2
k3
apple = c(1, 2, 3)
attach(key_value(apple))
apple1
apple2
apple3
※ 引述《laputaca (離歌笑)》之銘言:
: 標題: [問題] 函數輸入 自動命名
: 時間: Sat Apr 16 16:31:08 2016
:
: 想請問各位大大
:
: 如果寫一個函數讓他可以自動命名
:
: 舉個例子
:
: k <- c(1:3)
:
: function(k)
: {
:
: ?? <- k[1]+1
: ?? <- k[2]+2
: ?? <- k[3]+3
:
: }
:
:
: 如何才有辦法讓??的部分
:
: 可以是自動命名成
:
: k1 <- k[1]+1
: k2 <- k[2]+2
: k3 <- k[3]+3
:
: 也就是說如果我輸入的是apple
:
: 他就是自動定義三個數值是
:
: apple1, apple2, apple3
:
:
:
:
: 我有查過之前的文章
:
: 似乎有提到 甚麼 assign(paste0("k",i),value)
:
: 不過實在是不太懂
:
: 有大大能指點一下嗎?
:
: 感謝
:
:
作者: laputaca (離歌笑)   2016-04-17 13:23:00
感謝大大! 馬上來試試!

Links booklink

Contact Us: admin [ a t ] ucptt.com