在 R 中定义数据框列的级别
Defining the levels of dataframe columns in R
我正在尝试重新定义在使用 cbind 从其他数据帧的 select 列创建数据帧时分配的级别。数据框包含整数,行名是字符串:
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轴顺序。我以正确的方式接近这个吗?如果是这样,我错过了什么,如果不是,最好的方法是什么?
您可以在 as.factor 函数中将级别指定为参数
factor(colnames(outTable), levels = c("W", "RK", "RH", "F", "N"), ordered=T)
使用
factor(colnames(outTable), levels=c("W", "RK", "RH", "F", "N"))
如果您使用 levels()<-
,您将只需要 rename/replace 个关卡名称;你不重新订购它们。这当然不是你想要的他的行为。重新排序它们的最好方法是只使用 factor()
我正在尝试重新定义在使用 cbind 从其他数据帧的 select 列创建数据帧时分配的级别。数据框包含整数,行名是字符串:
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轴顺序。我以正确的方式接近这个吗?如果是这样,我错过了什么,如果不是,最好的方法是什么?
您可以在 as.factor 函数中将级别指定为参数
factor(colnames(outTable), levels = c("W", "RK", "RH", "F", "N"), ordered=T)
使用
factor(colnames(outTable), levels=c("W", "RK", "RH", "F", "N"))
如果您使用 levels()<-
,您将只需要 rename/replace 个关卡名称;你不重新订购它们。这当然不是你想要的他的行为。重新排序它们的最好方法是只使用 factor()