У меня есть данные (часть большего набора), которые выглядят следующим образом: (У меня не может быть более одной строки на гласную из-за того, как настроен весь фрейм данных)Переформатирование данных в R для линейного графика
info.df <- data.frame(
vowelFormantF2_90 = c(1117, 1433, 2392),
vowelFormantF3_90 = c(2820, 3062, 2670),
vowelFormantF2_50 = c(1016, 1313, 2241),
vowelFormantF3_50 = c(2842, 3150, 3038),
previousVowel = c("U", "U", "ae"))
50-и 90 соответствуют времени (50% точка длительности гласного приходит до 90% точки длительности гласного).
Я хочу рассчитать время как ось x и значение форманта (четырехзначное число) в качестве оси y. Я хочу группировать строки по цвету по F2 или F3 в имени столбца. Столбец previousVowel
также важен, потому что в конце концов я захочу подмножить свои данные гласным. Я планировал использовать ggplot2, но я открыт для других методов построения.
Я думал о делать что-то вроде этого:
time <- c(50,50,50,50,50,50)
formant <- c("F2","F2","F2","F3","F3","F3")
hz <- c(info.df$vowelFormantF2_50, info.df$vowelFormantF3_50)
newdataframe.df <- data.frame(time, formant, hz)
Но это кажется громоздким, как этот набор данных растет, а также не учитывает самого гласного.
Есть ли способ форматировать эти данные так, как я хочу?
Я думаю, вы забыли определить 'U' и' ae' в 'vowel <- c (U, U, ae)' в вашем примере. –
Спасибо! я починил это – Lisa