2012-08-04 104 views
-3

如何使用循環傳遞的值創建變量和字符串?R在循環中創建字符串


我有一組的國家= C( 'USA', '加拿大', '墨西哥')。

我有一個數據幀'人口'。

我想查詢我的數據庫以獲得它們的總體,並將其分配給數據框中的列。不用擔心訪問數據庫,我只關心動態創建查詢字符串和數據框列名稱。

for (country in countries) { 
    query = "SELECT population FROM population_database WHERE location='country';" 
    population$country = mysql_query(query) 
} 

回答

3

您可能正在尋找paste函數。

x <- "usa" 
paste("location = ", x) 
#[1] "location = usa" 
+0

不幸的是,當我使用它來命名一個變量時,paste()似乎正在插入一個空格。 ('rev',region,sep ='。')'或'paste('rev。',region,sep ='') – 2012-08-04 19:34:10

+0

regions ='USA' variable = paste('rev。',region) – 2012-08-04 19:36:44

+2

)'或'paste0('rev。',region)' – GSee 2012-08-04 19:41:31

1

你想population[[country]]而非population$country$表示法是[[的快捷方式,「2點之間的最長距離是一條捷徑」。

其他已經提到的pastepast0,你也可以使用sprintfgsubfn包。