r - 在 R 中对字符进行分组和总结?
问题描述
我在 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),])
到现在为止,一切都还好,但是。如果我想对 without_first_row 进行分组和总结,我会得到一个错误。
UseMethod(“group_by_”)中的错误:没有适用于“group_by_”的适用方法应用于“c('matrix','character')”类的对象
我运行的数据类型,
> typeof(con_promedio_por_curso_transpuesta)
[1] "character"
我如何将“字符”转换为任何类型的数据进行分组?
谢谢。
解决方案
您在创建位置附近的语法有错误,请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)
推荐阅读
- python - Python 3 升级
- java - Vaadin 中按钮的多行字幕不起作用
- javascript - Firebase 功能运行速度极慢
- c++ - 使用静态成员时有关 C++ 中内存分配的问题
- kotlin - Kotlin 扫描器 - 验证 nextLine() 用户输入
- c++ - 如何检查 char 编码是否为 ASCII?
- c# - Npgsql.EntityFrameworkCore.PostgreSQL.Infrastructure.Internal.NpgsqlOptionsExtension 类型中的方法“get_Info”没有实现
- node.js - 从 Rest API 中的 repo 获取数据
- sql - 在 Case 表达式中使用子查询
- html - 为什么我不能在 div 中设置离子按钮的样式