[英]Graph misordering X axis in R
我正在為不同試驗塊的R論文作圖。 10是出於某種原因在1認為它是有序的之后出現的。
我目前擁有的代碼是
library(dplyr)
All1 <- mydata[,c(36:45,98)]
meansall1 <- aggregate(All1[, 1:(ncol(All1)-1)], list(All1$Group), mean)
tmeansall1 <- data.frame(t(meansall1))
names(tmeansall1) <- c("AN", "HC")
meanstall1 <- tmeansall1[-1,]
meanstall1$trials <- rownames(meanstall1)
library(reshape2)
meltall1<- melt(meanstall1, id = "trials")
ggplot(data = meltall1, aes(trials, value, group=variable)) + geom_line(aes(linetype=variable))
任何幫助將不勝感激!
該圖未訂購任何東西。 已經在meltall1
訂購了meltall1
。 如果要在將其傳遞給ggplot
之前對其重新ggplot
,請參見以下示例:
dplyr
arrange()
是dplyr
函數,用於根據列對行進行排序。 在這里,您不只是想根據一列進行排序(因為它已經按照該順序排序):
arrange(df, x)
# x y
# 1 Xab1 -0.06191171
# 2 Xab10 0.82158108
# 3 Xab2 0.55391765
# 4 Xab3 0.68864025
您想根據該列的轉換對其進行排序:
arrange(df, as.numeric(gsub("\\D", "", x)))
# x y
# 1 Xab1 -0.06191171
# 2 Xab2 0.55391765
# 3 Xab3 0.68864025
# 4 Xab10 0.82158108
這里的慣用法是: as.numeric(gsub("\\\\D", "", x))
產生一個向量,該向量將按順序排列,因為您可能期望其中有一個數字的字符向量將按順序排列。 如果要與基數R編碼一起使用而不是dplyr排序,請執行以下操作:
df[order(as.numeric(gsub("\\D", "", df$x))),]
# x y
# 3 Xab1 0.12928774
# 1 Xab2 1.55870831
# 2 Xab3 0.07050839
# 4 Xab10 1.71506499
唯一的區別是保留了對data.frame
的原始調用中生成的行號。
數據:
set.seed(123)
x <- c("Xab1", "Xab2", "Xab3", "Xab10")
df <- data.frame(x = sample(x), y = rnorm(4))
# x y
# 1 Xab2 1.55870831
# 2 Xab3 0.07050839
# 3 Xab1 0.12928774
# 4 Xab10 1.71506499
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.