我正在尝试绘制一个简单的散点图:X轴是学生毕业学期,Y轴是他们的GPA。
以下是我读取数据的方式(Graduated08是文件名):
Graduated08 <- read.csv (file="200804_Graduated.csv",
+ header = TRUE,
+ na.strings = "NA")
以下是此数据集的第一行:
Grad_Term GPA
201302 3.560809
201403 3.013043
201202 4.000000
201302 3.344286
201204 3.596993
201401 3.393704
以上,201302代表2013年春季期,201202代表2012年春季期。基本上,命名惯例如下:前四位代表年份,后两位代表该年度的特定期限(01 - 冬季学期,02-春季学期,03-夏季学期,04-秋季学期)。
我使用以下R代码来获得简单的散点图
**> plot (x= Graduated08$Grad_Term,
+ y= Graduated08$GPA
+ )**
然而,我得到了一个与X轴混淆的情节。 Y轴看起来很好,但是X轴(Grad_Term)搞砸了。不是将201201,201202,201203和201204分离出来,该图似乎将所有这些术语分组为一个标记为“201200”的变量。其他年份也发生了同样的事情(仅见201300,201400等)。我希望将一年中的所有四个术语分别绘制出来。
答案 0 :(得分:0)
我相信您希望Grad_Term
列成为character
类。但是,R将此列视为character
以外的其他列。使用以下代码强制Grad_Term
为character
:
Graduated08 <- read.csv(file="200804_Graduated.csv",
header=TRUE,
colClasses=c("character", "numeric"),
na.strings="NA")
# now make your plot and each quarter should be a separate data point
答案 1 :(得分:-1)
我原则上同意蒂姆的观点。但是,我在最后尝试了这一点,plot()会自动将Grad_Term转换为数字。
解决此问题的最简单方法是先关闭自动绘图,然后添加自定义x轴值
d<-data.frame(rbind(
cbind(201302,3.560809),
cbind(201403,3.013043),
cbind(201202, 4.000000),
cbind(201302,3.344286),
cbind(201204, 3.596993),
cbind(201401,3.393704)))
names(d)<-c('Grad_Term','GPA')
attach(d)
# this is wrong
plot(Grad_Term,GPA)
# try this:
# turn off axis with xaxt= paramter
plot(Grad_Term,GPA,xaxt='n')
# put in your own, custom x axis
axis(1,at=Grad_Term)