R: Strsplit, чтобы добавить имена в boxplot поднимает ошибку

StackOverflow https://stackoverflow.com//questions/21043304

  •  21-12-2019
  •  | 
  •  

Вопрос

Я использую Strsplit в R, чтобы добавить имена в boxplot, но это дает мне ошибку.

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

а затем

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

Это дает

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

Именные аргументы требуют вектора, а Strsplit возвращает список.Эти несовместимые?

Если я сделаю

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

Тогда это нормально.

Большое спасибо для вашей помощи

Это было полезно?

Решение

Используйте tt[[1]] или unlist(tt) вместо tt

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

Аргумент names ожидает, что вектор и tt - это список, поэтому вам нужно пройти вектор, а не список.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top