我正在尝试用 ggplot 绘制一个图,显示多个基本频率随时间变化的曲线。我正在查看不同类型的单词,每种类型都有来自多个标记的数据(为简单起见,我将这些类型称为 1、2 和 3,并将标记从 1 标记为 20)。对于简单的数据集,我只有十个时间点(标记为 1-10)和与它们相关的 F0 值。我想要一个图表,它在不同颜色的图表中具有不同类型的单词,但这些类型中的不同标记都在相同的颜色内。我想使用 aes(),“颜色”将由单词定义,x 是时间,y 是 f0 值。每当我尝试将我的数据编码到 R 中时,它都会告诉我我得到了未定义的列。我正在使用的代码如下所示:
theme_set(theme_bw())
myf0 <- ggplot(ent, aes(x = Time, groups = token, colour = word))
myf0 <- myf0 + geom_line(aes(y = F0), alpha = 0.8)
myf0 <- myf0 + ylab("Hz")
但是,当我绘制 myf0 时,它会告诉我:
Error in `[.data.frame`(data, "group") : undefined columns selected
我究竟做错了什么?谢谢!
澄清点:对不起,我忘了添加一段数据!这是它的样子:
word token Time F0
1 1 1 1 107.8968
2 1 1 2 113.1362
3 1 1 3 117.2904
4 1 1 4 127.3287
5 1 1 5 132.7554
6 1 1 6 126.4456
7 1 1 7 111.19686
8 1 1 8 93.87390
9 1 1 9 87.12876
10 1 1 10 86.40445
其中word从1到3,token从1到20(每个词类有20个token,所以总共60个token),每个token的时间从1到10,每个点都有一个F0值.
因此,对于简单示例,我的数据的一小段,我通过尝试使 ggplot 工作得到错误,如下所示:
word token Time F0
1 1 1 1 107.89677
2 1 1 2 113.13620
3 1 1 3 117.29039
11 1 2 1 117.0063
12 1 2 2 119.6887
13 1 2 3 116.1143
201 2 1 1 125.25897
202 2 1 2 119.52722
203 2 1 3 115.67006
211 2 2 1 101.54531
212 2 2 2 102.27651
213 2 2 3 100.96099
401 3 1 1 98.82212
402 3 1 2 98.82212
403 3 1 3 97.78813
411 3 2 1 95.15890
412 3 2 2 97.76110
413 3 2 3 100.42595
希望这可以帮助!谢谢!