1
我在R中有一个数据框和2个变量[例如,身高,体重]我想计算相关性以及其他一些协变量[如性别,种族]。如何从列表中提取姓名R
我想计算每个性别和种族分组的身高和体重的R^2值。例如。 R^2为高度与重量男性白种人&,女&白种人,公&亚洲人,女&白种人等
我想出“通过”命令将是这样做是有用的。
cor <- by(data[,c(6,7)],list(data$sex,data$ethnicity),cor)
> cor
: Female
: African American
wt ht
wt 1.0000000 0.6879572
ht 0.6879572 1.0000000
------------------------------------------------------------------------------------------------------------------------------------------------
: Male
: African American
wt ht
wt 1.0000000 0.6868178
ht 0.6868178 1.0000000
------------------------------------------------------------------------------------------------------------------------------------------------
: Female
: Hispanic
wt ht
wt 1.0000000 0.6162962
ht 0.6162962 1.0000000
------------------------------------------------------------------------------------------------------------------------------------------------
: Male
: Hispanic
wt ht
wt 1.0000000 0.5854748
ht 0.5854748 1.0000000
我的问题是,我想将这些结果,这些结果以列表的形式,与下面列的数据帧:
R2_value 性别 种族
我的问题是如何从名单“cor”(我的输出是“by”命令)中提取性别和种族的价值。
当我做“cor [[1]]”时,我只是得到女性,非裔美国人的相关矩阵。
调用“名称(cor)”不会给我我想要的。
你应该看看plyr包中的'ldply'。它将获取一个列表并返回一个data.frame。 – John
使用'dput()'包含你的数据集的一个子集,或者提供一个可重现的例子。 – marbel
马丁说什么。另外,你是否期待一个正确的答案,包括从相关矩阵中计算R^2? –