循环在R的图表的字符串向量

时间:2013-02-19 06:48:55

标签: string r graph stata

我想循环一个名为country的字符串向量,其中包含国家/地区代码,例如AFGETH等。

Stata中,代码如下所示:

levelsof country, local(xtry)
foreach x in local xtry:
 graph command here if xtry=="`x'"
 graph save mygraph

}

是否有与levelsof类似的命令,以及" if"将数据限制为特定国家/地区代码的语句,该代码是一个字符串,将从中创建每个图形?

2 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

for (cn in levels(country))
    {
    if (cn=="x")
       {
       <do something>
       }
    else
       {
       <do something else>
       }
    }

如果您想查看多个国家/地区,可以使用

if (cn == "x" | cn == "y")

if (cn %in% c("x", "y", "z"))

答案 1 :(得分:0)

顺便说一下,如果与构造for循环不同,apply函数组实际上是类似的东西,那就是apply函数组是这些循环的包装器,并且特定于不同的数据结构和要求 - 更多Rish做循环的方式。我不知道速度提升声称有多有效 - 我持怀疑态度。除此之外如果我理解你的要求(我不知道stata),用R对数据进行子集可能更容易,然后为每个子集做几个图。