R在循环中创建字符串

时间:2012-08-04 19:26:47

标签: r variables loops for-loop string-concatenation

如何使用循环传递的值创建变量和字符串?


示例

我有一组国家= c('美国','加拿大','墨西哥')。

我有一个数据框'人口'。

我想查询我的数据库以获取其数量,并将其分配给数据框中的列。不要担心访问数据库,我只关心动态创建查询字符串和数据帧列名。

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

3 个答案:

答案 0 :(得分:3)

您可能正在寻找paste功能。

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

答案 1 :(得分:1)

您需要population[[country]]而不是population$country$表示法是[[的快捷方式,“2点之间的最长距离是捷径。”

其他人已提到pastepast0,您也可以使用sprintfgsubfn包。

答案 2 :(得分:0)

现在,如果您想创建一个for循环然后创建新的字符串名称,则可以执行此操作

a=c()
for (i in 1:5) {
    d=paste("location = ", i)
    a=c(a,d)
}

因此

enter image description here