我有一个数据框,其中一个人的标记存储在多个列中,基于这样的类:
Sno. Student Name Class1 Class2 Class3 Class4 Class5 Class6 Class7 Class8
3 1 XX 75 77 80 77 85 87 89 92
4 2 YY 90 90 87 83 80 78 76 75
我想绘制x轴上的所有标记,y轴必须是1 -100。 - 谢谢Sven Hohenstein 我能够得到一个解决方案。 但是有另一种方法来解决这个问题。你的图表正是我希望输出看起来的样子。 但我确实有一个10行16列数据帧,如果我要融化它会产生一个巨大的数据帧。 如果有办法在不熔化数据框的情况下生成相同的图,那就更好了。
谢谢。
答案 0 :(得分:8)
我不确定你正在寻找什么样的情节。这是一个提案。
阅读数据:
dat <- read.table(text = "Sno. Student Name Class1 Class2 Class3 Class4 Class5 Class6 Class7 Class8
3 1 XX 75 77 80 77 85 87 89 92
4 2 YY 90 90 87 83 80 78 76 75", header = TRUE)
将数据重塑为长格式:
library(reshape2)
dat_m <- melt(dat, id.vars = "Student",
measure.vars = grep("^Class", names(dat), value = TRUE))
创建情节:
library(ggplot2)
ggplot(dat_m, aes(y = value, x = variable, colour = as.factor(Student))) +
geom_point() +
geom_line(aes(group = Student)) +
coord_cartesian(ylim = c(1, 100))