2013-11-10 3 views
0

У меня есть кадр данных из 12 столбцов, и я хочу нарисовать кривые в R из этих данных, основывая цвет кривых на 12-м столбцах. Ниже приведены несколько примеров из данных (извините столбцы не совпадают с номерами)Построение кривых аннусов подмножеств фрейма данных на одном и том же участке

Teacher_explaining Teacher_enthusiastic Teacher_material_interesting Material_stimulating Material_useful Clear_marking Marking_fair Feedback_prompt Feedback_clarifies Detailed_comments Notes Year 
80 80 80 80 85 85 80 80 80 80 70 3 
70 60 30 40 70 60 30 40 70 0 30 3 
100 90 90 80 80 100 100 90 100 100 100 MSc 
85 85 85 90 90 70 90 50 70 80 100 MSc 
90 50 90 90 90 70 100 50 80 100 100 4 
100 80 80 75 90 80 80 50 80 80 90 3 

Из этих данных я пытался построить Andrews кривые, используя код ниже:

install.packages("andrews") 
library(andrews) 

col <- as.numeric(factor(course[,12])) 
    andrews(course[,1:12], clr = 12) 

Однако, 12-й столбец состоит из трех групп (3 типа ответов), и я хочу сгруппировать два из них, а затем построить кривую andrews данных без редактирования моего фрейма данных в Excel.

x <- subset(course, Year == "MSc" & "4") 
y <- subset(course, Year == "3") 

Я пробовал вышеуказанный код, но мой аргумент в отношении x не работает. «MSc», «3» и «4» - это группы в 12-й колонке, и я хочу сгруппировать MSc и 4, чтобы их кривые Эндрюса имели один и тот же цвет.

Если у вас есть идеи, как это сделать, сообщите мне.

+0

Пожалуйста, измените вопрос с некоторыми образцами данных. Кроме того, не забудьте указать какие-либо пакеты, которые необходимо загрузить для запуска вашего образца кода. – A5C1D2H2I1M1N2O1R2T1

+0

Это дает вам правильное подмножество? 'x <- подмножество (курс, год% в% c (" MSc "," 4 "))' – Henrik

+0

Да, спасибо Хенрик. Проблема в том, что в пакете «andrews» нет команды, которая позволяет мне накладывать кривые andrews для обоих фреймов данных на одном и том же участке. Любые идеи? –

ответ

0

Вы можете попытаться свернуть уровни «MSc» и «4» в переменной «Год» на один уровень. Я называю ваш кадр данных «ДФ»:

# convert 'Year' to factor: 
df$Year <- as.factor(df$Year) 

# rename the levels. 'MSc' and '4' is collapsed into a new level with name MSc_4 
levels(df$Year) <- list(MSc_4 = c("MSc", "4"), "3" = c("3")) 

# plot 
andrews(df = df, clr = 12) 

enter image description here

+0

Спасибо Henrik, очень благодарен –

+0

Рад слышать, что это сработало. Приветствия. – Henrik

Смежные вопросы