我在R
> con_promedio_por_curso_transpuesta
A B C D
Description "Abc" "Bcd" "Cde" "Def"
mean(X7) "5.000000" "4.105263" "4.733333" "4.680000"
mean(X8) "5.000000" "3.736842" "4.400000" "4.760000"
mean(X9) "5.000000" "3.950000" "4.600000" "4.840000"
mean(X10) "5.000000" "4.210526" "4.333333" "4.560000"
我要删除第一行
"Abc" "Bcd" "Cde" "Def"
我执行下一条指令:
without_first_row <- con_promedio_por_curso_transpuesta[-c(1),])
直到现在,一切都还好,但是。如果我想分组并总结不带首行的行,则会出现错误。
UseMethod(“ group_by_”)中的错误: 没有适用于'group_by_'的适用方法应用于类“ c('matrix','character')”的对象
我运行数据类型,
> typeof(con_promedio_por_curso_transpuesta)
[1] "character"
我如何将“字符”转换为用于分组的任何类型的数据?
谢谢。
答案 0 :(得分:0)
在创建without_first_row
的位置附近,语法有误,请按照以下步骤操作:
con_promedio_por_curso_transpuesta <-
data.frame(
row.names = c('Description','mean(X7)','mean(X8)','mean(X9)','mean(X10)'),
'A' = c("Abc","5.000000","5.000000","5.000000","5.000000"),
'B' = c("Bcd","4.105263","3.736842","3.950000","4.210526"),
'C' = c("Cde","4.733333","4.400000","4.600000","4.333333"),
'D' = c("Def","4.680000","4.760000","4.840000","4.560000"),
'ID' = c(NA, 1, 1, 2, 2) # added for this example
)
## without_first_row <- con_promedio_por_curso_transpuesta[-c(1), ]) <- this is your error, you added a ')' unnecessarily
without_first_row <- con_promedio_por_curso_transpuesta[-c(1), ] # with fixed syntax
> class(without_first_row)
[1] "data.frame"
# just to show you can group_by and summarise with data
without_first_row %>%
mutate_at(.vars = vars(c(A,B,C,D)), funs(as.numeric)) %>%
group_by(ID) %>%
summarise_all(mean)