Stata中foreach x in ...的R等效函数是什么

时间:2018-09-02 11:31:58

标签: r label stata

在Stata中,如果我想遍历几个变量并标记所有变量,请执行以下操作

vocab term

请有人告诉我如何在R中执行此操作?

1 个答案:

答案 0 :(得分:3)

R在Stata的意义上没有“标签”,也没有区分for循环的类型(如Stata的forvaluesforeach)。您可以使用因子变量,这些因子变量与标记的数值有些相似(并且在其建模命令中的行为还类似于Stata的i.前缀表示法)。您可以按照与Stata代码完全相似的方式,从现有数据中创建因子变量。

我要假设您有一个名为dat的数据框,其中包含名为acz,{{1 }},t,以及其他可能的变量。如果是这样,那么您要遍历变量的名称:

s

如果这些名称在数据框中是唯一的(它们可能是唯一的),则可以使用以下方法循环遍历数据框中变量的位置:

for (i in c("a", "c", "z", "t", "s")) {
    dat[[i]] <- factor(dat[[i]], levels = 1:2, labels = c("Yes", "No"))
}

这些是数据集中唯一的变量,您可以使用pos <- match(c("a", "c", "z", "t", "s"), names(dat)) for (i in pos) { dat[[i]] <- factor(dat[[i]], levels = 1:2, labels = c("Yes", "No")) } 和一些作弊标记:

lapply

有两个附加软件包,它们提供更多类似于Stata的标记功能:labelledHmisc,这可能值得探讨。但是,在大多数情况下,因素可能会给您您想要的东西。