Pergunta

Estamos trabalhando em um projeto de capital social para o nosso conjunto de dados tem uma lista de membros organizacionais de um indivíduo. Assim, cada pessoa recebe uma identificação numérica e, em seguida, um sub ID para cada grupo em que estão. A unidade de análise, portanto, é o grupo em que estão. Uma das nossas variáveis ??é uma escala de três pontos para o tipo de grupo que é. Parece simples o suficiente?

Queremos trazer a unidade de análise para o nível individual e condensar o tipo de grupo é em um significante variável quantos tipos diferentes de grupos em que estão.

Por exemplo, a pessoa está em oito grupos. Desses grupos, três são (1s), três são (2S), e duas são (3s). O que a variável nível individual seria semelhante, idealmente, é de 3, porque ela está em todos os três tipos de grupos.

Isso é possível no menor?

Foi útil?

Solução

##simulate data
##individuals
n <- 10
## groups
g <- 5
## group types
gt <- 3
## individuals*group membership
N <- 20
## inidividuals data frame
di <- data.frame(individual=sample(1:n,N,replace=TRUE),
                 group=sample(1:g,N, replace=TRUE))
## groups data frame
dg <- data.frame(group=1:g, type=sample(1:gt,g,replace=TRUE))
## merge
dm <- merge(di,dg)
## order - not necessary, but nice
dm <- dm[order(dm$individual),]
## group type per individual
library(plyr)
dr <- ddply(dm, "individual", function(x) length(unique(x$type)))

> head(dm)
   group individual type
2      2          1    2
8      2          1    2
20     5          1    1
9      3          3    2
12     3          3    2
17     4          3    2

> head(dr)
  individual V1
1          1  2
2          3  1
3          4  2
4          5  1
5          6  1
6          7  1

Outras dicas

Eu acho que você está perguntando é se é possível contar o número de tipos únicos de grupo ao qual um indivíduo pertence.

Se assim for, então isso é certamente possível.

Eu não seria capaz de dizer-lhe como fazê-lo em R desde que eu não conheço um monte de R, e eu não sei o que sua aparência de dados semelhante. Mas não há nenhuma razão pela qual não seria possível.

É este dados provenientes de um banco de dados? Se assim for, então ele pode ser mais fácil de escrever uma consulta SQL para calcular o valor que deseja, ao invés de fazê-lo em R. Se você descrever o seu esquema, não deve haver muitas pessoas aqui que poderia dar-lhe a consulta que você precisa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top