2017-05-20 4 views
1

Premier jour en utilisant R, donc désolé si cette question est évidente. J'essaye d'exécuter une régression avec les deux variables de facteur et les variables numériques.erreur 'variables variables different' lors de l'utilisation de "sous-ensemble" dans "lm"

  • Diet est une variable de facteur allant de 1 à 10. J'ai produit une nouvelle variable de facteur Diet.Factor.
  • Source est une autre variable de facteur qui peut être A ou B.
  • Je souhaite exécuter une régression linéaire pour Weight basé sur Diet.Factor lorsque Source==A.

Maintenant,

lm(Weight~Diet.Factor,data=labdata) 

fonctionne très bien, mais

lm(Weight~Diet.Factor,data=subset(labdata,Source=="A")) 

donne

Error in model.frame.default(formula = Weight ~ Diet.Factor, 
    :variable lengths differ (found for 'Diet.Factor') 
+0

[Modifier] votre question pour inclure la sortie de 'str (labdata)' –

+0

Comment avez-vous défini 'Diet.Factor', est-ce une colonne de' labdata' ou une nouvelle variable? –

Répondre

0

Je suppose que vous n'avez pas Diet.Factor colonne dans votre bloc de données labdata, mais l'avoir dans l'environnement mondial, de sorte qu'il est non soumis à sous-ensembles. C'est la seule cause possible.

+1

Merci, je l'ai co-écrit et ça marche maintenant. – Mikolaj

+0

Nouveau, donc ne peut pas accepter votre question ou upvote visiblement mais merci. – Mikolaj