我如何生成一列来表明班上男学生的比例? 我有一张看起来像这样的桌子。
df <- “class id score year gender
A 100 90 2000 F
A 101 80 2001 M
A 102 90 2002 M
A 102 90 2003 M
A 100 96 2003 F
B 103 75 2000 F
B 104 98 2001 M
B 105 78 2002 M
B 103 80 2003 F
B 104 54 2004 M
B 105 98 2005 M
C 106 65 2003 F
C 107 49 2004 F
C 108 38 2005 M
C 108 43 2006 M"
Data <- read.table(text=df,header = TRUE)
我已经尝试过类似的方法。我按年份将其分组,希望它能考虑到学生和年份-换句话说,如果一个学生在两年中的考试成绩不同,则该学生将不被视为两个不同的学生。
Data %>%
group_by(class,year) %>%
mutate(prop_male = (gender=="M")/sum(gender=="F",gender=="M")) %>%
arrange(class)
我收到以下错误:
Error in UseMethod("group_by_") :
no applicable method for 'group_by_' applied to an object of class "function"