R语言中的字符处理
2. 字符串连接
paste(..., sep = " ", collapse = NULL),其中collpase参数可将多个字符串连接成一个。
=====================================
3. 字符串分割
strsplit(x, split, extended = TRUE, fixed = FALSE, perl = FALSE)
=================================================================================
QWE <- c("QWERTYUIOPASDFGHJKLZXCVBNM")
> unlist(strsplit(QWE, ""))
[1] "Q" "W" "E" "R" "T" "Y" "U" "I" "O" "P" "A" "S" "D" "F" "G" "H" "J" "K" "L"
[20] "Z" "X" "C" "V" "B" "N" "M"
> xtest #将xtest表示化成小时为单位的时间表示形式,以便用于坐标轴显示
[1] "0:00:04" "0:53:18" "1:53:18" "2:53:17" "3:53:16" "4:53:16"
[7] "5:53:16" "6:53:16" "7:53:16" "8:53:16" "9:53:15" "10:53:14"
[13] "11:53:13" "12:53:13" "13:53:13" "14:53:13" "15:53:13" "16:53:13"
[19] "17:53:13" "18:53:13" "19:53:13" "20:53:13" "21:53:13" "22:53:13"
[25] "23:53:14"
> xtest <- as.data.frame(strsplit(xtest, split= ":"))
> xtest
c..0....00....04.. c..0....53....18.. c..1....53....18.. c..2....53....17..
1 0 0 1 2
2 00 53 53 53
3 04 18 18 17
c..3....53....16.. c..4....53....16.. c..5....53....16.. c..6....53....16..
1 3 4 5 6
2 53 53 53 53
3 16 16 16 16
c..7....53....16.. c..8....53....16.. c..9....53....15.. c..10....53....14..
1 7 8 9 10
2 53 53 53 53
3 16 16 15 14
c..11....53....13.. c..12....53....13.. c..13....53....13..
1 11 12 13
2 53 53 53
3 13 13 13
c..14....53....13.. c..15....53....13.. c..16....53....13..
1 14 15 16
2 53 53 53
3 13 13 13
c..17....53....13.. c..18....53....13.. c..19....53....13..
1 17 18 19
2 53 53 53
3 13 13 13
c..20....53....13.. c..21....53....13.. c..22....53....13..
1 20 21 22
2 53 53 53
3 13 13 13
c..23....53....14..
1 23
2 53
3 14
> mode(xtest)
[1] "list"
> xtest <- apply(xtest, c(1,2), as.numeric) # list --> numeric
> mode(xtest)
[1] "numeric"
> xtest <- apply(xtest, 2, function(x){x[1]+x[2]/60+x[3]/3600})
> xtest
c..0....00....04.. c..0....53....18.. c..1....53....18.. c..2....53....17..
0.01111111 0.93333333 1.93333333 2.93055556
c..3....53....16.. c..4....53....16.. c..5....53....16.. c..6....53....16..
3.92777778 4.92777778 5.92777778 6.92777778
c..7....53....16.. c..8....53....16.. c..9....53....15.. c..10....53....14..
7.92777778 8.92777778 9.92500000 10.92222222
c..11....53....13.. c..12....53....13.. c..13....53....13.. c..14....53....13..
11.91944444 12.91944444 13.91944444 14.91944444
c..15....53....13.. c..16....53....13.. c..17....53....13.. c..18....53....13..
15.91944444 16.91944444 17.91944444 18.91944444
c..19....53....13.. c..20....53....13.. c..21....53....13.. c..22....53....13..
19.91944444 20.91944444 21.91944444 22.91944444
c..23....53....14..
23.92222222
==================================================================================
3.2 按照特定长度截取
substr(x, start, stop)
substring(text, first, last = 1000000)
substr(x, start, stop) <- value
substring(text, first, last = 1000000) <- value
9, 2), seq(2, 10, 2))
[1] "ab" "cd" "ef" "gh" "ij"
===============================================================
4. 字符串替换及大小写转换
chartr(old, new, x)
4.2 正则替换
useBytes = FALSE)和gsub()可以进行正则替换,x表示字符向量。区别在于,sub()只替换第一个遇到,而gsub()替换其中所有。
tolower(x)
casefold(x, upper = FALSE)
其中,casefold()是S语言兼容函数,可以忽略。
5. 字符串匹配
grep(pattern, x, ignore.case = FALSE, extended = TRUE, perl = FALSE, value = FALSE, fixed = FALSE, useBytes = FALSE),grepl(),regexpr(),gregexpr(),regexec()函数是基本的字符匹配函,它们都可以匹配字符向量。
]{1, }。
}。
m}?,{n, }?。
'tolower', 'toupper' and 'chartr' for character translations.
'charmatch', 'pmatch', 'match'. 'apropos' uses regexps and has
nice examples.
stringr包
agrep()
参考:
1. http://cos.name/cn/topic/12987#post-12987
2. http://cos.name/cn/topic/104746
R语言中的字符处理的更多相关文章
- R+openNLP︱openNLP的六大可实现功能及其在R语言中的应用
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- openNLP是NLP中比较好的开源工具,R语 ...
- R语言学习笔记1——R语言中的基本对象
R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...
- R 语言中的数据结构
基本数据类型 6种 numaric 如 12, 12.4 integer 如 2L,0L complex 包含实数和虚数 如 3+2i character 要用双引号或者单引号包括起来 如 & ...
- R语言中的几种数据结构
R语言中的几种数据结构 一 R中对象的5种基本类型 字符(character) 整数 (integer) 复数(complex) 逻辑(logical:True/False) 数值(numeric: ...
- 【R语言入门】R语言中的变量与基本数据类型
说明 在前一篇中,我们介绍了 R 语言和 R Studio 的安装,并简单的介绍了一个示例,接下来让我们由浅入深的学习 R 语言的相关知识. 本篇将主要介绍 R 语言的基本操作.变量和几种基本数据类型 ...
- R语言中的正则表达式(转载:http://blog.csdn.net/duqi_yc/article/details/9817243)
转载:http://blog.csdn.net/duqi_yc/article/details/9817243 目录 Table of Contents 1 正则表达式简介 2 字符数统计和字符翻译 ...
- 机器学习:R语言中如何使用最小二乘法
详细内容见上一篇文章:http://www.cnblogs.com/lc1217/p/6514734.html 这里只是介绍下R语言中如何使用最小二乘法解决一次函数的线性回归问题. 代码如下:(数据同 ...
- R语言中的横向数据合并merge及纵向数据合并rbind的使用
R语言中的横向数据合并merge及纵向数据合并rbind的使用 我们经常会遇到两个数据框拥有相同的时间或观测值,但这些列却不尽相同.处理的办法就是使用merge(x, y ,by.x = ,by.y ...
- R语言中数据结构
R语言还是有点古老感觉,数据结构没有Python中那么好用.以下简单总结一下R语言中经常使用的几个数据结构. 向量: R中的向量能够理解为一维的数组,每一个元素的mode必须同样,能够用c(x:y)进 ...
随机推荐
- Tomcat的Server.xml虚拟主机和虚拟目录的配置
以前开发JavaEE网站都布置在Tomcat下,布置目录一般为$CATALINA_HOME/webapps/WebName,所以要访问网站,则在http://localhost后必须要加上上下文路径( ...
- IAR 条件断点
条件断点是IDE的一个重要功能,在IAR调试时候,经常跟踪一个数据,但是对较大的buffer,用普通的断点或live watch都不好跟踪. 比如某个buffer里一个数,我们知道他在第几个,但是却从 ...
- 【四】MongoDB索引管理
一.索引介绍 在mongodb中,索引用来支持高效查询.如果没有索引,mongodb必须在整个集合中扫描每个文档来查找匹配的文档.但是如果建立合适的索引,mongodb就可以通过索引来限制检查的文档数 ...
- CSS3响应式侧边菜单
在线演示 本地下载
- MyBatis入门级Demo
1.创建Java工程MyBatisTest001,导入jar包(mybatis-3.2.1/mysql-connector-java-5.1.24-bin); 2.创建User表,数据库(MySql) ...
- java:安装Runtime Environment,设置Tomcat Server 的方法
Eclipse 中开发Webapp, 一般需要配置Tomcat Server, 以便在Eclipse 中进行Debug.具体的步骤如下: 1. Windows ==>Preference ==& ...
- C++(四)— 字符串、数字翻转3种方法
1.使用algorithm中的reverse函数,string类型字符建议使用. #include <iostream> #include <string> #include ...
- 【leetcode刷题笔记】Palindrome Partitioning
Given a string s, partition s such that every substring of the partition is a palindrome. Return all ...
- 九省联考2018 D1T1 一双木棋
Alice和Bob轮流在n*m的棋盘上放棋子 a[i][j]表示Alice放在这的收益,b[i][j]表示Bob放在这的收益 一个地方没有棋子且它的左边上边都有棋子才能放棋子,边界外视为有一圈棋子 n ...
- bzoj 3514: GERALD07加强版 lct+可持久化线段树
题目大意: N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数. 题解: 这道题考试的时候没想出来 于是便爆炸了 结果今天下午拿出昨天准备的题表准备做题的时候 题表里就有这题 ...
转载▼