R for dummies 开始读和写

使用字符向量

为字符向量赋值
nchar()函数返回文本中的字符数,length()返回字符向量的长度

>x<-"hello world"
>is.character(x) #检测变量是否为character类型
[1] TRUE
>length(x)
[1] 1
>nchar(x)
[1] 12

绘制包含多个元素的字符向量

>x<-c("hello","world")
>length(x)
[1] 2
>nchar(x)
[1] 5 6

获取向量的子集
内置的letters和LETTERS分别包含26个字母的大小写。
在这里插入图片描述
获取letters的第10个元素。
>-letters[10]
获取LETTERS的最后三个元素。
>LETTERS[24:26]
使用tail()函数显示向量尾部,head()函数显示向量头部;默认显示6个。
head/tail(vector,num) 与linux中的类似

为向量中的值命名
首先查看内置数据集islands的结构。
在这里插入图片描述
能看到islands中包含48个numeric向量,并且这个向量有names属性即均为命名向量。
用名称提取前三个面积。
>islands[c("Africa","Antarctic","Asia")]
使用names函数来获得命名向量的名称
在这里插入图片描述
获取世界最大的6个岛屿的名称。
names([sort(islands,decreasing=TRUE)[1:6])

创建命名向量并赋值
格式names(vector)<-c( )

>month.day<-c(31,28,31,30,31,30,31,31,30,31,30,31)
>names(month.day)<-month.name #内置数据集month。name作为月份名称
>names(month.day[month.day==31]) #找到包含31天的月份

文本操作

组合和分割字符串
strsplit(vector,sep=" ") 分割字符串函数;sep指定分割符
在这里插入图片描述
[[1]]表示接下来打印的是列表的第一个元素,将结果赋值给一个words向量。
在这里插入图片描述
获取由唯一元素构成的向量要用unique()函数
unique(tolower(words))

>tolower(words) #转换为小写
>toupper(words) #转换为大写

连接字符串
paste(vector,sep=" ",collapse=) 组合字符串函数;sep参数指定多个向量之间的连接符;collapse参数指定同一个向量间的连接符
在这里插入图片描述
文本排序
sort(vector,decreasing=)
要用R实现逆序字母表,decreasing=TRUE指定降序排列。
在这里插入图片描述

查找文本中包含的内容

位置检索单个字符
substr(vector,start=,stop=)提取向量每个元素从第start个位置开始到第stop位置结束的子串
在这里插入图片描述
模式索取字符

grep(pattern,vector)返回符合的索引值
想找到所有包含单词“New”的洲在这里插入图片描述
想要返回洲名,而不是索引值

>state.nama[grep("New",state.name)]
>grep("New",state.name,value=TRUE)
#添加参数value=TRUE

检索多个单词(判断是否包含空格)
grep(" ",state.name,value=TRUE)

文本替换

sub()用于文本对文本的替换;gsub()可以实现所有特定模式的替换
gsub(查找的模式,替换的模式,被修改的文本)

在这里插入图片描述
假设有3个文件名file_a.csv 、file_b.csv 、file_c.csv提取其中的a、b、c

>file<-c("file_a.csv","file_b.csv","file_c.csv")
>y<-gsub("file_","",file)
>gsub("\\.csv","",y) # \\是转义符,但是不加也能成功转换(?)

使用正则表达式
可选性:|
可分组性:()
可计数型:* +

使用因子进行分类

创建因子
levels是创建因子的输入值;labels是创建因子的输出值。
factor(x,levels=,labels=)
在这里插入图片描述
转换因子
as.numeric(factor)会返回各个元素值在levels的顺序值
解决方法:as.numeric(as.character(factor))

关注水平
查看内部结构str(factor)在这里插入图片描述
state.region是包含4个元素的因子。水平均以整数1 2 3 4来表示。
查看因子水平levels(factor)
查看因子水平数nlevels(factor)
修改因子水平levels(factor)<-c(val1,val2...)

使用有序因子
使用指定参数ordered=TRUE的factor函数
factor(x,levels= ,labels= ,ordered=TRUE)

#假定要表示五个项目的优先级状态
>status<-c("Lo","Hi","Med","Med","Hi")
>ordered.status<-factor(status,levels=c("Lo","Med","Hi"),ordered=TRUE)

在这里插入图片描述
有序因子和普通因子的区别:R会保留有序因子的固有顺序。用table()函数试验一下。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值