2017-03-19 1 views
-3

J'ai une table de données appelée « vsample2.csv » qui ressemble à ceci:Comment remodeler les données du format long au format large avec plusieurs conditions?

vsample2

j'ai besoin de ressembler à ceci dans une nouvelle table de données que je créerais:

answer

Essayé avec dcast mais ne semble pas fonctionner. Je ne veux pas de fonction. Juste une ligne ou deux.

Je dois faire une anova mesures répétées avec les données. E & H étant le niveau variable 1 et C & IC étant de niveau variable 2. J'ai besoin des valeurs de signification du niveau variable 1, 2 puis de leur interaction.

données

set.seed(1) 
dd <- data.frame(
    subject = paste('Subject', rep(1:4, each = 4)), 
    lang = rep(c('H', 'E'), each = 2), 
    resp = c('C', 'IC'), 
    p = runif(16), 
    stringsAsFactors = FALSE 
) 
+0

créer une nouvelle variable qui est la 'interaction' de lang et resp, utilisez ceci comme la variable "time" - remodelage de base avec id, time, et pct – rawr

+0

Salut rawr, pourriez-vous joindre un échantillon syntaxe s'il vous plaît? Je ne suis pas vraiment bon avec les syntaxes. Merci. –

+0

montrez-nous ce que vous essayez sur l'exemple – rawr

Répondre

2

Si vous voulez juste pour remodeler les données, essayez ceci:

library(data.table) 
set.seed(1) 
dd <- data.frame(
    subject = paste('Subject', rep(1:4, each = 4)), 
    lang = rep(c('H', 'E'), each = 2), 
    resp = c('C', 'IC'), 
    p = runif(16), 
    stringsAsFactors = FALSE 
) 
setDT(dd) 
out <- dcast(dd, formula = subject~lang+resp) 

qui produit:

> out 
    subject  E_C  E_IC  H_C  H_IC 
1: Subject 1 0.5728534 0.9082078 0.2655087 0.37212390 
2: Subject 2 0.9446753 0.6607978 0.2016819 0.89838968 
3: Subject 3 0.2059746 0.1765568 0.6291140 0.06178627 
4: Subject 4 0.7698414 0.4976992 0.6870228 0.38410372 
+0

Bonjour Kristoffer , Merci pour la réponse. Je dois faire une ANOVA à deux mesures répétées en fait. E & H étant la variable indépendante 1 et C & IC étant la variable indépendante 2. J'ai seulement joint l'échantillon pour 4 sujets. Il y en a cent de plus en réalité. –