ggplot2每行数据帧一行

DJM*_*JMJ 4 r ggplot2 dataframe

我有一个包含以下数据的CSV文件:

user,Measurement1,Measurement2,Measurement3,group
1,0.1,0.7,0.2,3
2,0.3,0.3,0.4,2
3,0.3,0.3,0.4,2
Run Code Online (Sandbox Code Playgroud)

我需要为每个用户绘制一行.x轴可以只是1,2,3(每个测量的一个点标记为之前,之后,之后,但我可以稍后计算出标记).颜色将由组列设置我找到类似于我需要的图,但我不想将用户代码用作x值.

Dre*_*een 6

ggplot喜欢"长"格式的数据:即每个维度的列,每个观察的行.您的数据目前"很宽".使用reshape包从一个到另一个.

我是否正确理解您希望Measurement1,Measurement2和Measurement3位于x轴上?(那么,在你的数据中,用户1的行会从0.1到0.7变为0.2?如果是这样,你想要这样的东西:

require(reshape)

#Recreate your data frame
user <- gl(3, 1)
Meas1 <- c(0.7, 0.3, 0.3)
Meas2 <- c(0.7, 0.3, 0.3)
Meas3 <- c(0.2, 0.4, 0.4)
group <- c(3, 2, 2)
df <- data.frame(user=user, Meas1=Meas1, Meas2=Meas2, Meas3=Meas3, group=group)

#'melt' the data frame into long format
dfm <- melt(df, id.vars=c("user", "group"))

ggplot(dfm, aes(x=as.numeric(variable), y=value, colour=user)) + geom_line()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述