我正在尝试重新定义当我使用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轴顺序。我是以正确的方式接近这个吗?如果是这样,我错过了什么,如果不是,那么最好的方法是什么?
答案 0 :(得分:1)
使用
factor(colnames(outTable), levels=c("W", "RK", "RH", "F", "N"))
如果您使用levels()<-
,则只需重命名/替换级别名称;你没有重新订购它们。这当然不是他想要的行为。重新排序它们的最佳方法是使用factor()
答案 1 :(得分:0)
您可以在as.factor函数
中指定级别作为参数factor(colnames(outTable), levels = c("W", "RK", "RH", "F", "N"), ordered=T)