stata如何调用R软件有没有办法用stata调

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stata如何调用R软件有没有办法用stata调相关的知识,希望对你有一定的参考价值。

参考技术A 你先打开stata截面,点击“New-Do files editors”就可以打开你想打开的do文件,这个文件主要是放你的程序的;
或者是“file-open-do”也可以打开do文件。

在Stata中,foreach x的R等价函数是什么?[关闭]

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

foreach x in a c z t s {
cap label drop `x'
label define `x' 1 "Yes" 2 "No"
label values `x' `x'
}

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

答案

R在Stata的意义上没有“标签”,也没有区分for循环的类型(如Stata的forvaluesforeach)。您可以使用因子变量,它们与标记的数值有些相似(并且在其建模命令中另外表现得像Stata的i.前缀表示法)。您可以以与Stata代码非常相似的方式从现有数据中创建因子变量。

我将假设您有一个名为dat的数据框,其中包含名为aczts以及可能的其他变量的变量。如果是这样,那么你想循环遍历变量的名称:

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和一些小作弊符号:

dat[] <- lapply(dat, factor, levels = 1:2, labels = c("Yes", "No"))

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

以上是关于stata如何调用R软件有没有办法用stata调的主要内容,如果未能解决你的问题,请参考以下文章

如何使用STATA软件?

在Stata中,foreach x的R等价函数是什么?[关闭]

用stata怎么打开RDATA?

如何使用STATA软件?

基础方法 | 数据管理:Stata与R语言的应用

如何打开一个stata文件、解释stata命令中的in,if