R語言:變量名稱和字符串的轉換
2014-06-23 14:45:27
在R語言中,經常會遇到變量名稱和字符串相互轉換的問題。比如說,進行1000次循環運算,並將運算結果存儲在1000個變量中,如x_1, x_2, ... , x_1000。這時候可以使用assign()函數,示例如下:
> a
錯誤: 找不到對象'a'
> assign('a', 1)
> a
[1] 1
上面的例子將字符'a'轉變為變量a,並將其賦值為1 。
相反,如果我們想遍歷一個變量序列,並對其中的每一個變量都進行操作,該怎么辦呢?我們可以使用get()函數。示例如下:
> a <- 1
> b <- 2
> c <- 3
> sequence <- c('a', 'b', 'c')
> for (var in sequence){print(var + 10)}
錯誤於var + 10 : 二進列運算符中有非數值參數
> for (var in sequence){print(get(var) + 10)}
[1] 11
[1] 12
[1] 13
我們可以發現,get函數將字符var轉變為變量,並根據變量的值進行后續操作。
> a
錯誤: 找不到對象'a'
> assign('a', 1)
> a
[1] 1
上面的例子將字符'a'轉變為變量a,並將其賦值為1 。
相反,如果我們想遍歷一個變量序列,並對其中的每一個變量都進行操作,該怎么辦呢?我們可以使用get()函數。示例如下:
> a <- 1
> b <- 2
> c <- 3
> sequence <- c('a', 'b', 'c')
> for (var in sequence){print(var + 10)}
錯誤於var + 10 : 二進列運算符中有非數值參數
> for (var in sequence){print(get(var) + 10)}
[1] 11
[1] 12
[1] 13
我們可以發現,get函數將字符var轉變為變量,並根據變量的值進行后續操作。
