我是 R/ggplot2 的新手,我正在尝试为 R 中 ggplot 中 6 个刺激的响应创建一个计数(或百分比,无关紧要)的折线图。刺激应该穿过 x 轴,并且计数在 y 轴上。一行代表用介词回答的参与者人数,另一行代表用数字回答的参与者人数。
我相信带有 geom_line() 的 ggplot 需要一个 x 和 y (其中 y 是计数或百分比)。
我应该创建一个带有计数的新数据框以便我可以使用 ggplot 吗?然后,一个子问题是我如何根据刺激数据计算响应(因此,我如何根据数据框中的另一列计算响应,或者刺激 1 有多少介词响应,刺激 1 有多少响应,刺激 2 的介词 react 有多少,等等。也许带有某种 if 语句?)?
或者
有没有办法在 ggplot 中自动生成这些计数?
当然,我完全有可能以错误的方式处理这个问题。
我试图搜索这个,但找不到任何东西。非常感谢。
最佳答案
正如我在评论中所说,我最终创建了一个频率表并使用 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()
关于r - 计算ggplot2中的折线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32573497/