R中排序数据的散点图

R中排序数据的散点图,r,R,我有以下数据: subject = c("S01","S02","S03","S04","S05","S06","S07","S08","S09","S10") post = c(100,80,75,120,85,90,95,90,110,100) pre = c(45,60,80,75,45,60,55,50,35,40) data1 = as.data.frame(cbind(subject, post, pre)) 然后我根据post列对数据进行排序: data1 = da

我有以下数据:

subject = c("S01","S02","S03","S04","S05","S06","S07","S08","S09","S10")
post    = c(100,80,75,120,85,90,95,90,110,100)
pre     = c(45,60,80,75,45,60,55,50,35,40)
data1 = as.data.frame(cbind(subject, post, pre))
然后我根据post列对数据进行排序:

data1 = data1[order(data1$post),]
最后我想要的是一个散点图,比较post和pre列的颜色。X轴只是数据帧的索引,但标有主题编号,因此轴标签将按照主题编号的顺序排列,因为数据帧是按post列排序的

如果我这样做:

plot(data1$post)
plot(data1$post,data1$pre)
我有一个条形图,甚至没有散点图。这是因为post列是一个因素吗?我对post和pre列都尝试了“as.numeric”,但结果是一样的

如果我这样做:

plot(data1$post)
plot(data1$post,data1$pre)
我有一个散点图,但指数从1到20。因此,我没有对同一个索引1到10进行比较散射,而是有两个索引为1-10和11-20的散射


如果有人能帮我指出错误,我们将不胜感激。

把这称为“散点图”是不正确的;其中一个变量是分类变量,值是成对的。它实际上是点图的变体。使用
as.data.frame(cbind(.))
的做法造成了数据畸形

> data1
   subject post pre
1      S01  100  45
10     S10  100  40
9      S09  110  35
4      S04  120  75
3      S03   75  80
2      S02   80  60
5      S05   85  45
6      S06   90  60
8      S08   90  50
7      S07   95  55
所有这些列都是系数,而不是明确的数字:

请改用此代码:

data1 = data.frame(subject=subject, post=post, pre=pre)
data1 = data1[order(data1$post),]; 
plot(data1$pre,type="p",ylim=range(data1$pre,data1$post), 
      xaxt="n", ylab="Pre/Post Scores: black=Pre, red=Post")
points(data1$post,col='red')
axis(1, at=1:10, labels=levels(data1$subject)[order(post)])
最后一行可能是:

axis(1, at=1:10, labels=as.character(data1$subject))) # since the set was sorted by `post`

我想要的是带有排序后的值和x轴上的记号的东西,以对应于排序后的列。在这个数据集中,我的勾号不会从S01开始,因为S01在中间有一个POST值。我应该看到,您已经通过使用cBin破坏了您的数据集的构建,它将所有的数值数据转换为因素。安德烈斯特确实注意到了这一点,并正确地转换回了数字。我会从:
data1开始