计算ggplot2

时间:2015-09-14 20:38:08

标签: r ggplot2

我是R / ggplot2的新手,我正在尝试为R中的ggplot中的6个刺激的响应创建计数(或百分比,无关紧要)的线图。刺激应跨越x轴,和y轴上的计数。一行代表用介词回复的参与者数量,另一行代表用数字回复的参与者数量。

我相信带有geom_line()的ggplot需要x和y(其中y是计数或百分比)。

我应该创建一个带有计数的新数据框,以便我可以使用ggplot吗?然后,一个问题是如何基于刺激数据计算响应(因此,我如何根据数据框中的另一列计算响应,或者针对刺激1的预置位响应有多少,刺激1的响应数量为多少,刺激2的介词反应有多少,等等。也许有某种if语句?)?

有没有办法在ggplot中自动生成这些计数?

当然,我完全有可能完全以错误的方式解决这个问题。

我试图搜索这个,但找不到任何东西。非常感谢你。

1 个答案:

答案 0 :(得分:1)

正如我在评论中所说,我最终创建了一个频率表,并使用ggplot绘制结果数据帧。这是以下代码!

# creates data frame
resp <- c("number", "number", "preposition", "number")
sound <- c(1, 1, 2, 2)
df <- data.frame(resp, sound) 

# creates frequency table
freq.table <- prop.table((xtabs(~resp+sound, data=df)), 2)
freq.table.df <- as.data.frame(freq.table)

# plots lines based on frequency
ggplot(freq.table.df, aes(sound, Freq, group=resp, color=resp)) + 
  geom_line()