2012-08-04 106 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包。