查看对象的类型
对于未知类型的对象,在R中有3个函数可以查看对象的类型:class()、mode()、typeof()。
使用格式:class(x)
其中x为需要查看类型的对象,mode()、typeof()函数使用格式与class()函数相同。
实例:创建3个不同类型的数据,展示3个辨别函数的区别。
在展现数据的细节上,mode()
mode只查看数据的大类
class()查看数据的类
typedef()函数则更加细化,查看数据的细类
stringsAsFactorsl:logical: should character vectors be converted to factors? The ‘factory-fresh’ default is TRUE, but this can be changed by setting options(stringsAsFactors = FALSE).
R语言提供了批量处理函数,可以循环遍历某个集合内的所有或部分元素,以简化操作。
这些函数底层是通过C来实现的,所以效率也比手工遍历来的高效。
批量处理函数有很重要的apply族函数:lapply sapply apply tapply mapply。
apply族函数是高效能计算的运算向量化(Vectorization)实现方法之一,比起传统的for,while常常能获得更好的性能。
apply : 用于遍历数组中的行或列,并且使用指定函数来对其元素进行处理。
lapply : 遍历列表向量内的每个元素,并且使用指定函数来对其元素进行处理。返回列表向量。
sapply : 与lapply基本相同,只是对返回结果进行了简化,返回的是普通的向量。
mapply: 支持传入两个以上的列表。
tapply: 接入参数INDEX,对数据分组进行运算,就和SQL中的by group一样。
df sapply(df, mode)c1 c2 c3“character” “numeric” “numeric”sapply(df, class)c1 c2 c3“character” “integer” “numeric”sapply(df, typeof)c1 c2 c3“character” “integer” “double”
2.数据结构
向量创建 向量是以一维数组的方法管理数据的一种对象类型。可以说向量是R语言中最基本的数据类型,很多算法函数都是以向量的形式输入的。 向量可以是数值型、字符型、逻辑值型(T、F) 和复数型。 向量可以使用执行组合功能c( )函数实例:创建不同类型的向量
> x1 > x2 > x3
一个向量的所有元素都必须属于相同的类型。如果不是,R将强制执行类型转换。
向量索引
通常,我们只要访问向量中的部分或个别元素。这就是所谓的索引,它用方括号[] 来实现。(有人也称之为子集、下标或切片,这些术语所指相同。)
R语言中,提供如下多种索引方法。
给向量传入正数,它会返回此位置上的向量元素切片。它的第一个位置是 1( 而不像其他某些语言一样是0) 。
给向量传入负数,它会返回一个向量切片,它将包含除了这些位置以外的所有元素。
给向量传入负数,它会返回一个向量切片,它将包含除了这些位置以外的所有元素。
给向量传入一个逻辑向量,它会返回一个向量切片,里面只包含索引为 TRUE 的元素。
对于已命名的向量,给向量传入命名的字符向量,将会返回向量中包含这些名字的元素切片。
aa[-1][1] 2 3 4 5a[-2][1] 1 3 4 5
a[TRUE][1] 1 2 3 4 5
索引向量
以下三个索引方法都将返回相同的值:
如果给每个元素命名,以下方法也将返回相同的值:
混合使用正负值是不允许的,会抛出一个错误:
索引向量
which函数将返回逻辑向量中为TRUE的位置
which.min 和which.max 分别是which(min(x)) 和which(max(x)) 的简写:
which(x>4.0) 或 x[x>4.0]向量编辑 R语言可以对已经创建好的向量直接进行元素扩展及删除等编辑操作。 向量中元素的删除通过减号加元素下标的形式实现。
实例:向量元素的扩展及删除 > # 向量编辑 > x > # 向量扩展 > (x [1] 1 2 3 4 5 6 7 > # 单个元素的删除 > (x [1] 2 3 4 5 6 7 > # 多个元素的删除 > (x [1] 4 5 6
向量排序 sort()函数为R语言中对向量进行排序的常用函数。此外,rev()函数可以将向量倒序放置。 使用格式:sort(x, decreasing = FALSE, na.last = NA, …) na.last为默认设置时,将缺失值省略。sort()函数常用参数
实例:向量的排序及倒序 ##向量排序 #创建3个无序的向量 >x >x1 >x2 #数值型数据排序(默认顺序为升序) >sort(x , decreasing=FALSE) [1] 1 4 5 6 7 8 9 >sort(x, decreasing=TRUE) [1] 9 8 7 6 5 4 1 #字符型数据排序 >sort(x1) [1] “A””B””C” #将缺失值(NA)放置到序列最末尾 >sort(x2,na.last=TRUE) [1] 1 2 3 4 5 NA #倒序 >rev(x) [1] 4 9 1 7 8 6 5
等差序列的创建seq( )产生等距间隔的数列,其基本形式为: seq(from = 1, to = 1, by = ((to - from) / (length.out - 1)), length.out = NULL, along.with = NULL, ...) X1.1,aq(along.with=x)[1,2,3,4]
●句子
●编程学习
●大学生生活图鉴
●JavaScript
●计算机网络原理
●计算机组成原理
●操作系统
●数据库系统概论
●数据结构
●英语
●R语言
●Linux
●人生哲学以及电竞
●云计算与人工智能
●新媒体运营以及各种资源分享
●明星电视剧社会现象娱乐
仙女都在看点点点,赞和在看都在这儿!