Frage

Ich verwende strsplit in R, um dem Boxplot Namen hinzuzufügen, aber das gibt mir einen Fehler.

strng <- "one%two%three"
tt <- strsplit(strng,"%",fixed=TRUE)

und dann

boxplot(param~grp,data=snp,horizontal=TRUE,names=tt)

dies ergibt

ls = list(c("one", "two",  :
  'at' and 'labels' lengths differ, 3 != 1
Calls: boxplot ... boxplot.default -> do.call -> bxp -> do.call -> axis
Execution halted

das Argument names erfordert einen Vektor und strsplit gibt eine Liste zurück.Sind diese inkompatibel?

Wenn ich es tue

boxplot(param~grp,data=snp,horizontal=TRUE,names=c("on","two","three"))

Dann ist es in Ordnung.

Vielen Dank für Ihre Hilfe

War es hilfreich?

Lösung

Verwenden tt[[1]] oder unlist(tt) statt tt

boxplot(param~grp,data=snp,horizontal=TRUE,names=tt[[1]])

names argument erwartet einen Vektor und tt ist eine Liste, also müssen Sie einen Vektor übergeben, keine Liste.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top