微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用代表编号的行制作数据集簇,而列是两个变量,簇的值不同

如何解决如何使用代表编号的行制作数据集簇,而列是两个变量,簇的值不同

我很困惑。 我有 50 个不同大小的集群,我有两个变量“年份”和“收入水平”。 我现在拥有的数据集有 10,000 行,其中每一行代表一个人。 我想要做的是从这个数据框中形成一个新的数据集,其中每一行代表簇数(50),列是两个变量+簇变量。问题是这两个变量(我们称之为研究水平协变量)对于聚类没有唯一的值。 那么我如何将它们放在每个集群的一个单元格中?

X1<-c(1,1,2,3,4,4) #Clusters
X2<c(1,2)  #Covariate1
X3<-c(1991,2001,2002,1998,2014,2015,1990,2004,2006,2005,2003,2000) #Covariate2


data<-data.frame(X1,X2,X3)

我想要的输出应该是这样的:

|Clusters|Covariet1|Covariate2|
|--------|---------|----------|
|1       | ?       |?         |
|2       | ?       |?         |
|3       | ?       |?         |
|4       | ?       |?         |

意味着不是 16 行的数据框,而是 4 行的数据框

解决方法

以下是如何使用每个集群的协变量的平均值来聚合数据:

df <- data.frame(X1 = c(1,1,2,3,4,4),X2 = c(1,2),X3 = c(1991,2001,2002,1998,2014,2015,1990,2004,2006,2005,2003,2000)
                  )
library(tidyverse)
df %>% group_by(X1) %>% summarise(mean_cov1 = mean(X2))
# A tibble: 4 x 2
     X1 mean_cov1
* <dbl>     <dbl>
1     1       2  
2     2       1  
3     3       1.5
4     4       2  

对于您正在处理的案例,您必须确定最相关的聚合是什么。您也可以一次创建多个。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。