我以前从来没有使用过Stata,对它的了解也非常有限,我一直在尝试根据year
,country1
,country2
来折叠双边信息的数据集,并取所有其他信息的平均值。在R中,我试着运行:
aggregate(dataset,by=list(dataset$year,dataset$country1,dataset$country2),FUN=mean,na.rm=TRUE)
这个数据集太大了,我的计算机RAM无法处理我在R中的折叠(另一个我无法解决的问题),当一个同事试图运行代码时,其他数据没有显示为均值(在某些情况下,只选择了特定二年-一年中的一行数据;在其他情况下,我甚至不确定发生了什么)。数据集的较小子集显示了正确的结果。
由于R中的问题,我想尝试在Stata中执行此操作,但之前我尝试使用
collapse (mean) <every variable I wanted a ``mean'' of, or otherwise wanted to remove from the dataset>, by(year country1 country2)
Stata不知道如何处理字符串。我对Stata的了解太少了,以至于我不知道如何解决这个问题。有人能给我提供代码吗?我需要在大量的变量上使用collapse
命令,其中许多是字符串(对于字符串,我需要NA
返回)。
2条答案
按热度按时间yeotifhr1#
findname
(Stata Journal)是用户编写的ds
的继承者,具有更多的功能(事实)和更友好的语法(作者的观点,尽管同一作者是ds
的最后一位作者)。在这两种情况下,您会发现数字变量的名称都返回到
r(varlist)
中:这样你就可以把它传给
collapse
一般而言,没有其他方法可以取代阅读
collapse
的说明和手动输入。r1zhe5dt2#
如果您要计算平均值的字符串变量是被视为字符串的数字,例如“1”、“2”等,那么您可以使用
real()
或destring
将变量转换为数值类型。不使用此形式的字符串变量,例如“alligator”、“lizard”、“snake”等,您不需要它们的平均值,将被删除。示例: