gpt4 book ai didi

r - R 中排序数据的散点图

转载 作者:行者123 更新时间:2023-12-02 09:16:20 24 4
gpt4 key购买 nike

我有以下数据:

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))

然后我根据帖子列对数据进行排序:

data1 = data1[order(data1$post),]

我最终想要的是一个比较后列和前列的散点图,相应地采用不同的颜色。 X 轴只是数据框的索引,但标有主题编号,因此轴标签将按主题编号的顺序排列,因为数据框是按帖子列排序的

如果我这样做:

plot(data1$post)

我拥有的是条形图,甚至不是散点图。这是由于帖子专栏造成的吗?我为 post 和 pre 列尝试了“as.numeric”,但结果是相同的

如果我这样做:

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`

enter image description here

关于r - R 中排序数据的散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9965193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com