在R语言中创建向量时始终得到整数类型,该如何解决?
关于R中整数向量的疑问解答
- 在R里,整数类型(integer)的对象本身就是向量的一种。R的向量按原子类型分为整数型、数值型(双精度)、字符型等,
typeof()函数返回的是向量的原子类型,而非判断它是否为向量。 - 你用
1:n创建的对象本身就是长度为n的整数向量,加括号(1:n)或者用c(1:n)包裹,本质上没有区别,都是整数向量。 - 要判断一个对象是否为向量,应该用
is.vector()函数,示例代码:n <- 5 indeces <- 1:n is.vector(indeces) # 返回TRUE,确认是向量 typeof(indeces) # 返回"integer",说明是整数型向量 - 你提到“无法使用适用于向量的函数”,大概率是误解或函数有特殊类型要求。常见的向量函数都能正常作用于它:
length(indeces) # 返回向量长度 sum(indeces) # 计算向量元素和 mean(indeces) # 计算平均值 - 如果某函数要求数值型(double)向量,可通过
as.numeric()转换类型:indeces_num <- as.numeric(indeces) typeof(indeces_num) # 返回"double"
内容的提问来源于stack exchange,提问作者Johnny
相关产品推荐
相关产品推荐

