0 votes
in Datenauswertung by s218141 (110 points)
edited by SoSci Survey

Hallo zusammen,
Ich habe meine Daten von SoSciSurvey speziell für R runtergeladen. Viele Sachen klappen auch wie gewohnt, aber viele Befehle (v.a. aus Dplyr Package) funktionieren nicht.
Ein Beispiell:

Den Testwert von Items zu generieren klappt so nicht:

df$Skalages<- rowMeans(df[ ,c("Item1":"Item32")])

und auch nicht:

df %>% rowwise() %>% mutate(Skalages=mean(c('Item1':'Item32')))

Fehlermeldung:

1: In `[.data.frame`(change3, , c("HH01_01":"HH01_32")) :

  NAs introduced by coercion

Es klappt aber, die manuelle Version:

df$Skalages<- ((df$Item1+df$Item2+.....df$Item32)/32)

Ich verstehe absolut nicht, woran das liegen kann. Meine einzige Vermutung ist, dass die Daten irgendwie nicht als numerisch anerkannt werden.
Ist das Problem bekannt bzw gibt es irgendwie eine Lösung dafür?

LG

by SoSci Survey (305k points)
Nachdem Sie oben teils die richtigen Kennungen angeben (Fehlermeldung) und teils Pseudo-Kennungen ("Item1") kann ich nicht nachvollziehen, welche Fehlermeldung zu welchem Code gehört. Posten Sie doch bitte mal die komplette Ausgabe vom Befehlsaufruf bis zur vollständigen Fehlermeldung.

Zur Sicherheit: Die notwendigen Pakete (dplyr, tidyverse) sind geladen?
by s218141 (110 points)
change3$HHges1 <- rowMeans(change3[ ,c("HH01_01":"HH01_32")])
Error in "HH01_01":"HH01_32" : NA/NaN argument
In addition: Warning messages:
1: In `[.data.frame`(change3, , c("HH01_01":"HH01_32")) :
  NAs introduced by coercion
2: In `[.data.frame`(change3, , c("HH01_01":"HH01_32")) :
  NAs introduced by coercion


Und

change3 %>% rowwise() %>% mutate(HHges1=mean(c('HH01_01':'HH01_32')))
Error in `mutate()`:
! Problem while computing `HHges1 = mean(c("HH01_01":"HH01_32"))`.
ℹ The error occurred in row 1.
Caused by error in `"HH01_01":"HH01_32"`:
! NA/NaN argument
Run `rlang::last_error()` to see where the error occurred.
Warning messages:
1: Problem while computing `HHges1 = mean(c("HH01_01":"HH01_32"))`.
ℹ NAs introduced by coercion
ℹ The warning occurred in row 1.
2: Problem while computing `HHges1 = mean(c("HH01_01":"HH01_32"))`.
ℹ NAs introduced by coercion
ℹ The warning occurred in row 1.

Danke im Voraus!

1 Answer

0 votes
by SoSci Survey (305k points)
change3$HHges1 <- rowMeans(change3[ ,c("HH01_01":"HH01_32")])

Am einfachsten wäre die Verwendung eines select().

change3 %>% select(HH01_01:HH01_32) %>% rowMeans()

Und bei dieser Zeile

change3 %>% rowwise() %>% mutate(HHges1=mean(c('HH01_01':'HH01_32')))

stört m.E. das c() und das rowwise()

change3 %>% mutate(HHges1=mean(HH01_01:HH01_32))

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...