R: Strsplit, чтобы добавить имена в boxplot поднимает ошибку
Вопрос
Я использую 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
- это список, поэтому вам нужно пройти вектор, а не список.
Не связан с StackOverflow