R 对变量进行排序以生成简单图
我在绘制两条曲线重叠的简单图时遇到了一个困难。x轴上的My变量表示周,因此in希望保持其在数据框中的顺序R 对变量进行排序以生成简单图,r,plot,R,Plot,我在绘制两条曲线重叠的简单图时遇到了一个困难。x轴上的My变量表示周,因此in希望保持其在数据框中的顺序figU5MR figU5MR Week U5MR CMR fWeek cWeek 1 51 0.9 0.2 51 51 2 52 0.2 0.2 52 52 3 53 0.0 0.0 53 53 4 1 0.0 0.0 1 1 5 2 0.5 0.1 2 2
figU5MR
figU5MR
Week U5MR CMR fWeek cWeek
1 51 0.9 0.2 51 51
2 52 0.2 0.2 52 52
3 53 0.0 0.0 53 53
4 1 0.0 0.0 1 1
5 2 0.5 0.1 2 2
6 3 0.2 0.0 3 3
7 4 0.6 0.2 4 4
8 5 0.2 0.2 5 5
9 6 0.2 0.1 6 6
10 7 0.2 0.0 7 7
11 8 0.1 0.0 8 8
12 9 0.1 0.0 9 9
13 10 0.0 0.1 10 10
14 11 0.0 0.0 11 11
15 12 0.1 0.1 12 12
16 13 0.0 0.0 13 13
17 14 0.2 0.1 14 14
18 15 0.1 0.0 15 15
19 16 0.3 0.1 16 16
20 17 0.3 0.1 17 17
21 18 0.1 0.1 18 18
22 19 0.3 0.1 19 19
23 20 0.1 0.0 20 20
为此,我首先创建了一个有序因子fWeek
。要绘制数据,我只需使用以下看似基本的方法:
plot( x=fWeek, y=U5MR, pch=24, cex=2,type="b", xlab="Weeks", xlim=c(-0.02,1.2), ylab="Death/10'000/day", main="Mortality rates per week", axes=F)
plot(x=fWeek,y=CMR,pch=19, cex=1.8,lty=1,type="o", gap=0, sfrac=0.005, axes=T, add=TRUE)
返回的绘图未按预期显示符号:
为了避免这种情况,我还尝试将Week
转换为字符cWeek
:然后输出更好,但我失去了周的正确顺序
是否有人知道如何获得我的周的正确顺序(如图1所示,同时保持符号的良好外观如图2所示?抱歉,我知道这是基本的,但我无法得到我想要的,在数小时的搜索后。。
谢谢!打印的输出让我觉得您已经附加了一个数据帧。附加数据帧是一个坏主意。相反,请学习将
与一起使用,这样您就可以获取数字化的行名(假设您还没有在其中放入字符值)。也可以使用1:nrow(dfrm)
获取传递给y
的数字序列:
with(dfrm, plot( x=as.numeric(rownames(dfrm)), y=U5MR, pch=24, cex=2,type="b",
xlab="Weeks", ylab="Death/10'000/day", main="Mortality rates per week",
xaxt="n"))
将轴添加回:
axis(1, at=as.numeric(rownames(dfrm)), labels=dfrm$Week)
…并省略xlim。这毫无意义(无论如何对我来说)。打印的输出让我觉得有一个附加的数据帧。附加数据帧是一个坏主意。相反,要学会将与
一起使用,这样你就可以获取数字化的行名(假设你还没有在其中放入字符值)。还可以使用1:nrow(dfrm)
获取传递给y
的数字序列:
with(dfrm, plot( x=as.numeric(rownames(dfrm)), y=U5MR, pch=24, cex=2,type="b",
xlab="Weeks", ylab="Death/10'000/day", main="Mortality rates per week",
xaxt="n"))
将轴添加回:
axis(1, at=as.numeric(rownames(dfrm)), labels=dfrm$Week)
…并省略xlim。这毫无意义(对我来说).值得注意的是,这是一个很大的帮助,我不会忘记。非常感谢你为一个不那么性感的问题提供了如此清晰的答案……所有这些都很有用!值得注意的是,这是一个很大的帮助,我不会忘记。非常感谢你为一个不那么性感的问题提供了如此清晰的答案……所有这些都很有用!