R 如何仅用数字变量绘制直线?

R 如何仅用数字变量绘制直线?,r,ggplot2,R,Ggplot2,这是数据帧(csv文件) 这是我一直在使用的代码: library(ggplot2) pl <- ggplot(df) + geom_point(aes(x=Estación, y = pH)) print(pl) 库(ggplot2) 你的意思是这样的吗 df %>% mutate(Estacion = factor(Estacion, levels = paste0("N", 1:nrow(df)))) %>% ggplot(aes(Estacion,

这是数据帧(csv文件)

这是我一直在使用的代码:

library(ggplot2)

pl <- ggplot(df) + geom_point(aes(x=Estación, y = pH))

print(pl)
库(ggplot2)

你的意思是这样的吗

df %>%
    mutate(Estacion = factor(Estacion, levels = paste0("N", 1:nrow(df)))) %>%
    ggplot(aes(Estacion, pH, group = 1)) +
    geom_point() +
    geom_line()

说明:我们通过重新调平
因子
变量
Estacion
,确保
x
值的正确顺序;由于
x
是一个分类变量,我们需要使用
group
美学告诉
ggplot
点属于同一组,以便属于同一组的点可以用线连接


样本数据
df您是在
ggplot(df)+geom_point(aes(x=Estación,y=pH))+geom_line()之后吗?
?我想您的意思是x值的顺序也不对吧?它们按字母顺序排列:
N1,N10,…
有没有其他方法告诉R我想显示的“Estación”的顺序?我的意思是不做(“N”,1:nrow(df)),因为将来我可能会有其他类型的分类名称,我不知道如何对它们进行编码。这是可行的:mutate=(Estación2=factor(tf$EstacióN,levels=tf$EstacióN[1:nrow(tf)])pl@alvaronorales,因为你已经发现我的评论有些多余。但一般来说,你可以通过改变
因子
级别的顺序来控制分类变量(即
因子
)的顺序。是的,我对代码做了一点改进:tf@alvaronorales是的,
组=1
只是给所有观察值分配了一个随机组标签(
1
df %>%
    mutate(Estacion = factor(Estacion, levels = paste0("N", 1:nrow(df)))) %>%
    ggplot(aes(Estacion, pH, group = 1)) +
    geom_point() +
    geom_line()
df <- read.table(text =
    "   Estacion pH Conductividad
1        N1  6            29
2        N2  4            23
3        N3  2            16
4        N4  8            16
5        N5  3            20
6        N6  5            22
7        N7  8            27
8        N8  2            10
9        N9  3            27
10      N10  8            27
11      N11  8            26
12      N12  8            12
13      N13  2            19
14      N14  3            30
15      N15  5            25
16      N16  1            16
17      N17  1            17
18      N18  5            16
19      N19  8            15
20      N20  6            14");