R语言——因子

Python011

R语言——因子,第1张

变量课归结为名义型、有序型或连续型变量。

名义型变量是美哟顺序之分的类别变量。有序型变量表示一种顺序关系,而非数量关系。连续型变量可以呈现为某个范围内的任意值,并同事表示了顺序和数量。

类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor)。因子决定了数据的分析方式以及如何进行诗句呈现。

函数(factor)以一个整数向量的形式存储类别值,整数的取值范围是[1...k](其中k是名义型变量中唯一值的个数)同时一个由字符(原始值)组成的内部向量将映射到这些整数上。

要表示有序型变量,需要为函数factor()指定参数order=TRUE。

对于字符型向量,因子的水平默认依字母顺序创建。但按字母顺粗排序的因子很少能让人满意,可通过指定levels选项来默认覆盖默认排序。

数值型变量可以用levels和lables参数来编码成因子。

首先,以向量形式输入数据,然后将diabetes和status分别制定为普通因子和有序型因子。最后,将数据合并为一个数据框。函数str(object)可提供R中某个对象的信息,它清楚的显示diabetes是一个因子,而status是一个有序型因子,以及此数据框在内部是如何进行编码的。

函数summary()会区别对待各个变量,它显示了连续性变量age的最小值、最大值、均值和各四分位数【四分位数(Quartile)也称四分位点,是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。多应用于统计学中的箱线图绘制。它是一组数据排序后处于25%和75%位置上的值。四分位数是通过3个点将全部数据等分为4部分,其中每部分包含25%的数据。很显然,中间的四分位数就是中位数,因此通常所说的四分位数是指处在25%位置上的数值(称为下四分位数)和处在75%位置上的数值(称为上四分位数)。与中位数的计算方法类似,根据未分组数据计算四分位数时,首先对数据进行排序,然后确定四分位数所在的位置,该位置上的数值就是四分位数。与中位数不同的是,四分位数位置的确定方法有几种,每种方法得到的结果会有一定差异,但差异不会很大,该解释来源于百度百科】,并显示了类别型变量diabetes和status的频数值。

stringr 包中的大部分函数具有统一风格的命名方式,以 str_ 开头,正则表达式也完全适用该包。

字符串拼接函数 str_c ,与R语言自带的 paste 和 paste0 函数具有相同的作用。

字符计数函数 str_count ,计算字符串中指定字符的个数。

字符检查函数 str_detect ,检查字符串中是否包含指定字符,返回逻辑向量。

字符复制函数 str_dup ,将字符向量重复若干次,返回重复后的字符向量。

字符提取函数 str_extract 和 str_extract_all ,对字符串进行提取, str_extract_all 函数返回所有的匹配结果。

字符串格式化函数 str_glue ,用花括号 {} 表示占位符,括号内的变量被替换成全局变量值。

字符串长度函数 str_length ,计算字符串长度。

字符位置提取函数 str_locate 和 str_locate_all ,返回匹配到的字符的位置。

字符匹配函数 str_match 和 str_match_all 与字符提取函数 str_extract 类似,返回匹配到的字符,不同之处在于返回格式。

字符补齐函数 str_pad ,用于在字符串中添加单个字符,可选择添加的位置,在参数 side 中进行设置。

字符删除函数 str_remove 和 str_remove_all ,用于删除字符串中的部分字符。

字符替换函数 str_replace 、 str_replace_all 和 str_replace_na ,用于替换字符串中的部分字符。

字符排序函数 str_sort 和 str_order ,对字符向量进行排序。

字符分割函数 str_split 和 str_split_fixed ,对字符串进行分割。

字符过滤函数 str_sub 和 str_subset , str_sub 函数通过指定开始和结束位置,过滤出字符串的部分字符串。 str_subset 函数通过匹配模式,过滤出满足模式的字符串。

stringr 包中其他的有用函数,用于常见的字符处理。

R语言字符串处理常用函数

R语言中常用的字符串处理函数:

(1)得到字符串长度:nchar()

# 生成示范字符串

(2)剪切字符串:strsplit()

# 对字符串进行剪切

(3) 得到子字符串:substr()

# 得到子字符串

(4) 判断字符串中是否有某个字串:grepl()

# 判断字符串中是否有某个字串

(5) 字符串替换:gsub()

(6)字符串定位

在Hmisc包里,有一个函数可以很方便的对文本的的目标字符串进行定位,substring.location()