简单散点图:X轴上的变量问题

时间:2015-03-11 00:28:13

标签: r scatter-plot

我正在尝试绘制一个简单的散点图: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等)。我希望将一年中的所有四个术语分别绘制出来。

2 个答案:

答案 0 :(得分:0)

我相信您希望Grad_Term列成为character类。但是,R将此列视为character以外的其他列。使用以下代码强制Grad_Termcharacter

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)

enter image description here