首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >差异分析和加权序列数据:我在哪里找到我的组变量?

差异分析和加权序列数据:我在哪里找到我的组变量?
EN

Stack Overflow用户
提问于 2019-01-14 16:34:09
回答 1查看 80关注 0票数 1

我正在尝试差异分析。由于我的序列数据很大,所以我在WeightedCluster包中使用了权重。在到达实际的dissassoc()部分之前,一切都很顺利。我似乎找不到我的组变量。

我尝试了WeightedCluster手册和Studer等人2011年的文章中的例子。这篇文章很有用,并帮助我开发了How to use discrepancy analysis with TraMineR and aggregated sequence data?,但我不知道如何从那里找到dissassoc()参数中的那些单独的组变量。假设我使用的是相同的示例数据(尽管我的原始数据没有采样权重),但我只能使用聚合数据:

代码语言:javascript
复制
## Aggregate example data
mvad.agg <- wcAggregateCases(mvad[, c(10:12, 17:86)], weights=mvad$weight)
mvad.agg

## Define sequence object 
mvad.agg.seq <- seqdef(mvad[mvad.agg$aggIndex, 17:86], alphabet=mvad.alphabet,
                       states=mvad.scodes, labels=mvad.labels,
                       weights=mvad.agg$aggWeights)

## Computing OM dissimilarities
mvad.agg.dist <- seqdist(mvad.agg.seq, method="OM", indel=1.5, sm="CONSTANT")

## Discrepancy analysis
dissassoc (mvad.agg.dist, group = mvad$gcse5eq, weights = mvad.agg$aggWeights, weight.permutation = "replicate")

因此,在最后一步中,我不知道如何链接到组变量。我尝试过使用不同的选项来定义组(例如,mvad.agg$gcse5eqmvad$gcse5eq)以及解聚/聚合和加权/取消加权数据的许多变体,但我要么得到"Object gcse5eq not found“,要么得到"Error in diss !is.na( group ),!is.na(Group):错误的维数”

我是个新手,所以希望我的例子是清晰和有用的。我希望有人能帮助我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-14 21:44:15

首先,您需要在提供给wcAggregateCases的表中包含您的协变量。(这里的gcse5eqmvad的第12列,并且已经属于mvad[, c(10:12, 17:86)]。)

然后,您必须提供与wcAggregateCases选择的案例相对应的协变量的值作为group变量。您可以通过$aggIndex实现这一点。我的说明如下:

代码语言:javascript
复制
library(TraMineR) 
library(WeightedCluster) 
## Load example data and assign labels
data(mvad)
mvad.alphabet <- c("employment", "FE", "HE", "joblessness", "school", "training")
mvad.labels <- c("Employment", "Further Education", "Higher Education", 
                 "Joblessness", "School", "Training")
mvad.scodes <- c("EM", "FE", "HE", "JL", "SC", "TR")
## Aggregate example data
mvad.agg <- wcAggregateCases(mvad[, c(10:12, 17:86)], weights=mvad$weight)
## Define the sequence object 
mvad.agg.seq <- seqdef(mvad[mvad.agg$aggIndex, 17:86], alphabet=mvad.alphabet,
                       states=mvad.scodes, labels=mvad.labels,
                       weights=mvad.agg$aggWeights)
## Computing OM dissimilarities
mvad.agg.dist <- seqdist(mvad.agg.seq, method="OM", indel=1.5, sm="CONSTANT")
## Discrepancy analysis
dissassoc (mvad.agg.dist, group = mvad$gcse5eq[mvad.agg$aggIndex], 
           weights = mvad.agg$aggWeights, 
           weight.permutation = "random-sampling")

请注意,我在这里使用weight.permutation = "random-sampling",因为我们有非整数权重。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54177998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档