Error in Summary.factor ‘sum’ not meaningful for factors
Posted Data+Science+Insight
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Error in Summary.factor ‘sum’ not meaningful for factors相关的知识,希望对你有一定的参考价值。
Error in Summary.factor ‘sum’ not meaningful for factors
目录
Error in Summary.factor ‘sum’ not meaningful for factors
问题:
根本的原因就在于数据类型不对。
factor类型没有sum方法
#create a vector of class vector
factor_vector <- as.factor(c(1, 7, 12, 14, 15))
#attempt to find min value in the vector
sum(factor_vector)
Error in Summary.factor(1:5, na.rm = FALSE) :
‘sum’ not meaningful for factors
解决:
转化为数值、使用as.numeric函数;
mydata$value<-as.numeric(mydata$value)
is.numeric(mydata$value)
#convert factor vector to numeric vector and find the min value
new_vector <- as.numeric(as.character(factor_vector))
sum(new_vector)
#[1] 49
完整错误:
#create a vector of class vector
factor_vector <- as.factor(c(1, 7, 12, 14, 15))
#attempt to find min value in the vector
sum(factor_vector)
Error in Summary.factor(1:5, na.rm = FALSE) :
‘sum’ not meaningful for factors
其它(数值、字符串、日期类型都可以求最小值)
数值、字符串、日期类型都可以求最大值、类似地就可以求最大值。
numeric_vector <- c(1, 2, 12, 14)
max(numeric_vector)
#[1] 14
character_vector <- c("a", "b", "f")
max(character_vector)
#[1] "f"
date_vector <- as.Date(c("2019-01-01", "2019-03-05", "2019-03-04"))
max(date_vector)
#[1] "2019-03-05"
R 是一个有着统计分析功能及强大作图功能的软件系统,是由奥克兰大学统计学系的Ross Ihaka 和 Robert Gentleman 共同创立。由于R 受Becker, Chambers & Wilks 创立的S 和Sussman 的Scheme 两种语言的影响,所以R 看起来和S 语言非常相似。
R语言被称作R的部分是因为两位R 的作者(Robert Gentleman 和Ross Ihaka) 的姓名,部分是受到了贝尔实验室S 语言的影响(称其为S 语言的方言)。
R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。
如果你是一个计算机程序的初学者并且急切地想了解计算机的通用编程,R 语言不是一个很理想的选择,可以选择 Python、C 或 Java。
R 语言与 C 语言都是贝尔实验室的研究成果,但两者有不同的侧重领域,R 语言是一种解释型的面向数学理论研究工作者的语言,而 C 语言是为计算机软件工程师设计的。
R 语言是解释运行的语言(与 C 语言的编译运行不同),它的执行速度比 C 语言慢得多,不利于优化。但它在语法层面提供了更加丰富的数据结构操作并且能够十分方便地输出文字和图形信息,所以它广泛应用于数学尤其是统计学领域。
以上是关于Error in Summary.factor ‘sum’ not meaningful for factors的主要内容,如果未能解决你的问题,请参考以下文章
Error in Summary.factor ‘max’ not meaningful for factors
# Error in colSums(iris) : ‘x‘ must be numeric,# Error in rowSums(iris) : ‘x‘ must be numeric
1064 - syntax error, error in :'Id`) USING BTREE
ERROR 1064 (42000): You have an error in your SQL syntax...
Error in eval(family$initialize) : y值必需满足0 <= y <= 1Error in eval(family$initialize) : y values mus