我有一个12列的数据框,我想在这个数据的R中绘制andrews曲线,基于第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 :(得分:0)
您可能会尝试崩溃级别&#39; MSc&#39;和&#39; 4&#39;在'年'&#39;变量为一个级别。我打电话给你的数据框&#39; df&#39;:
# 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)