我正在尝试重新定义当我使用cbind从其他数据帧的选择列创建数据帧时分配的级别。数据帧包含整数,rownames是字符串:
outTable<-data.frame(cbind(contRes$wt, bRes$log2FoldChange, cRes$log2FoldChange, dRes$log2FoldChange, aRes$log2FoldChange), row.names=row.names(aRes))
使用以下内容,我得到列的级别:
levels(as.factor(colnames(outTable)))
[1] "F" "N" "RH" "RK" "W"
我希望通过传递以下内容来改变该顺序:
levels(as.factor(colnames(outTable)))<-c("W", "RK", "RH", "F", "N")
但我得到错误:
could not find function "as.factor<-"
最终目的是在ggplot2中设置箱线图的X轴顺序。我是以正确的方式接近这个吗?如果是这样,我错过了什么,如果不是,那么最好的方法是什么?
使用
factor(colnames(outTable), levels=c("W", "RK", "RH", "F", "N"))
如果你使用levels()<-
,你只需重命名/替换级别名称;你不重新订购它们。这当然不是他想要的行为。重新订购它们的最佳方法是使用factor()
您可以在as.factor函数中将级别指定为参数
factor(colnames(outTable), levels = c("W", "RK", "RH", "F", "N"), ordered=T)