2014-01-10 45 views
1

我在R中使用strsplit爲boxplot添加名稱,但是這給了我一個錯誤。R:strsplit將名稱添加到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")) 

然後,它是確定的。

非常感謝您的幫助

回答

3

使用tt[[1]]unlist(tt),而不是tt

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

names參數期待一個向量和tt是一個列表,所以你需要通過一個載體不是列表。

相關問題