R语言-实现将向量转换成一个字符串

将向量a,b装换成一个字符串,其中:

a=c(1,2,3,4)
b=c(2,3,4,5)

为了将其转化成一个字符串可以通过引入包stringr,使用str_c实现,使用paste也一样可以达到目的,如下:

library(stringr)
a_b=str_c(a,b,collapse='')
paste(a,b,sep='')

输出为:

[1] "12233445"

在实际的数据处理中看可以用来给数据框建联合索引,比如数据框中需要用到的索引列联接成一列,则在实际中可以方便很多,避免很多麻烦,但是需要注意的是最后在每列中间加一个字符比如空字符来保证一一映射。比如数据框的前两行的数据为:

  A1 A2 A3 A4
1  1  1 11  4
2  1 11  1  5

如果使用前三列索引即A1,A2,A3。如果不加入特殊字符则第一行和第二行连接的字符都为:

[1] "1111"

二者索引是相同的,所以需要加入特殊字符避免这种情况,比如加入空格后两行数据的连接后为:

[1] "1 1 11"
[2] "1 11 1"

这两个字符串是不相同的。

补充:R语言中怎么将一个字符串向量合成一个大字符串

> test <- c("a", "b", "c")
> t3 <- paste(test, collapse = "")
> t3

[1] “abc”

补充:用R语言解析字符串

常见字符串的字符串操作:合并与分割。

1. 合并字符串

paste函数用于合并字符串,其基本形式为 paste( <字符串>..., sep=" "),其中的参数如表2-13所示:

示例代码如下:

> data <- "4分50秒"
> data <- paste("网站停留时间:","3小时",data,sep="")
> data

[1] "网站停留时间:3小时4分50秒"

2. 分割字符串

strsplit 函数可以依据特定字符串来把字符串分割为列表,其中用于分割的字符串将不再出现。下面,将把字符串“网站停留时间:3小时4分50秒”转化为用户停留时间的实数(以秒为单位)。

详细代码,保存在test.R中,如下:

 data <- "4分50秒"
 data <- paste("网站停留时间:","3小时",data,sep="")
 data <- strsplit(strsplit(data,split=":")[[1]][2], split="小时");
 data <- unlist(data);
 h <- as.numeric(data[1]);
 min.sec <- data[2];
 min.sec <- unlist(strsplit(min.sec,split="分"))
 min <- as.numeric(min.sec[1])
 sec <- min.sec[2];
 sec <- unlist(strsplit(sec,split="秒"));
 sec <- as.numeric(sec[1])

 times <- 3600*h+60*min+sec
 list <- "times="
 print("times=")
 print(times)

效果如下:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • R语言中字符串的拼接操作实例讲解

    在R语言中 paste 是一个很有用的字符串处理函数,可以连接不同类型的变量及常量. 函数paste的一般使用格式为: paste(..., sep = " ", collapse = NULL) 其 中-表示一个或多个R可以被转化为字符型的对象:参数sep表示分隔符,默认为空格:参数collapse可选,如果不指定值,那么函数paste的返回值是自变量之间通过sep指定的分隔符连接后得到的一个字符型向量:如果为其指定了特定的值,那么自变量连接后的字符型向量会再被连接成一个字符串,之间

  • R语言gsub替换字符工具的具体使用

    gsub()可以用于字段的删减.增补.替换和切割,可以处理一个字段也可以处理由字段组成的向量. 具体的使用方法为:gsub("目标字符", "替换字符", 对象) 在gsub函数中,任何字段处理都由将"替换字符"替换到"目标字符"这一流程中实现,令替换字符为''''可实现删除,令替换字符为"目标字符+增补内容"可实现增补,替换和切割也是使用类似的操作. > text <- "AbcdE

  • R语言 实现将数据框中的字符类型数字转换为数值

    场景1 我现在有一个数据框datexpr,里面的数字都是以字符型表示的,像这样 > datexpr[1,1] [1] " 1.143773961" 现在我想把这个数据框中的字符型数字全部转为数值型数字 使用下面语句即可 datexpr2=as.data.frame(lapply(datexpr,as.numeric)) 现在再次查看,就是数值型啦,整个数据框中的内容也都是数值型的啦 > datexpr2[1,1] [1] 1.143774 场景2 我现在有一个数据框date

  • R语言-如何截取变量中指定位置的若干个字符

    例如,某数据库如下,需要把第二个变量里面的ID号码(格式为T-20-252-02)提取出来作为一个新变量. 命令如下: b=readWorksheetFromFile(temp[11],sheet=1) 读入excel数据,命名为数据库b,这里temp[11]是读入temp中第11个文件名对应的文件 attach(b) attach数据库,之后即可直接用变量名file, 否则要用b$file b$id=substr(File,regexpr("T",File),regexpr(&quo

  • R语言拼接字符串_paste的用法说明

    R中自带的字符串连接的函数是paste. 先来看一下官方文档里对paste用法的解释: 基本格式: paste (-, sep = " ", collapse = NULL) 其中,-表示对象,可以有多个,中间用逗号隔开. sep表示分隔符,默认为空格. collapse表示如果不指定值,那么函数paste的返回值是-的对象之间通过sep指定的分隔符连接后得到的一个字符型向量:如果为其指定了特定的值,那么自变量连接后的字符型向量会再被连接成一个字符串,之间通过collapse的值分隔.

  • R语言:实现因子与字符串的互转

    在导入大批量数据时,如果没有显式地指定"stringsAsFactors = FALSE",默认会将所有的字符串转换为因子,导致数据处理速度较慢. 示例数据如下: name,math,english,sex,year "yiifaa",65,68,"M",2018 "yiifee",95,98,"F",2018 "guagua",75,78,"M",2018 &quo

  • R语言字符串知识点总结及实例分析

    在R语言中的单引号或双引号对中写入的任何值都被视为字符串. R语言存储的每个字符串都在双引号内,即使是使用单引号创建的依旧如此. 在字符串构造中应用的规则 在字符串的开头和结尾的引号应该是两个双引号或两个单引号.它们不能被混合. 双引号可以插入到以单引号开头和结尾的字符串中. 单引号可以插入以双引号开头和结尾的字符串. 双引号不能插入以双引号开头和结尾的字符串. 单引号不能插入以单引号开头和结尾的字符串. 有效字符串的示例 以下示例阐明了在 R 语言中创建字符串的规则. a <- 'Start

  • R语言-实现将向量转换成一个字符串

    将向量a,b装换成一个字符串,其中: a=c(1,2,3,4) b=c(2,3,4,5) 为了将其转化成一个字符串可以通过引入包stringr,使用str_c实现,使用paste也一样可以达到目的,如下: library(stringr) a_b=str_c(a,b,collapse='') paste(a,b,sep='') 输出为: [1] "12233445" 在实际的数据处理中看可以用来给数据框建联合索引,比如数据框中需要用到的索引列联接成一列,则在实际中可以方便很多,避免很多

  • R语言 实现将factor转换成numeric方法

    方法1: such as : x <- factor(c(3,4,5,1)) as.numeric(x) [1]2 3 4 1 最好是这样: as.numeric(levels(x)[x]) [1] 3 4 5 1 方法2: as.numeric(as.character()) 该方法最好! 方法3: read.table时候就读成数值型,R读的时候默认"NA"是missing,如果你的数据不是用NA来表示missing,那么这一列就读成string或者factor了 补充:R语

  • R语言-因子与向量的转换方式

    一.因子的特点或性质 1.因子可视为C或JAVA语言中的枚举,适用于有限状态的表示. 2.因子不可以赋枚举集合外的值,如一个因子包含male,female,则不能再赋male和female以为的值,赋其他值会将该元素设置为空值. 二.因子的建立 1.因子的建立 假定有因子gendor,为一组人的性别: > gendor<-factor(c('m','f','f','m'),labels=c('male','female')) 则通过上式建立一个性别因子. > gendor [1] fem

  • R语言-如何将list转换为向量

    从excel中直接读取的数据为list,如下转换为向量 as.vector(unlist(x)) 补充:R语言基本运算,向量,矩阵,list,数组 1. 基本运算 1.1 加.减.乘.除 赋值可以使用a=数值,亦可以用a<-数值 1.2 余数.整除 1.3 绝对值: abs() .判断正负:sign() .幂.指数:^ .平方根:sqrt() 1.4 以二为底的对数: log2() .以十为底的对数:log10() .自定义底的对数:log(c,base=) .自然常数e的对数:log(a,ba

  • R语言向量下标操作

    向量下标即元素在向量中的位置,在实践中我们可以利用下标(元素的位置)来找出自己想要的数. 利用runif函数生成包含10个正整数的向量x. options(digits = 1) set.seed(1234) x <- runif(10,min = 1,max = 20) x [1] 3 13 13 13 17 13 1 5 14 11 正整数下标 我们可以输入正整数作为下标来找出对应位置的元素. 在[]内输入下标. #向量x的第一位置的元素 x[1] [1] 3 #向量x的第2位置的元素 x[

  • R语言数据类型与相应运算的实现

    目录 一.常量与变量 1.常量 2.变量 二.数据类型 三.数值型向量 3.1 c()函数 3.2 length(x) 3.3 numeric() 四.向量运算 1.标量和标量运算 2.向量与标量运算 3.等长向量运算 4.不等长向量的运算 五.向量函数 1.向量化的函数 2.排序函数 3.统计函数 4.生成规则序列的函数 六. 复数向量 练习 一.常量与变量 1.常量    R 语言基本的数据类型有数值型,逻辑型(TRUE, FALSE),文本(字符串). 支持缺失值,有专门的复数类型.   

  • R语言中的因子类型详解

    一.Factor函数 #函数factor可以把一个向量编码为一个因子,其一般形式为: #factor(x,levels=sort(unique(x),na.last=TRUE),labels,exculde=NA,order=FALSE) #其中x是向量,levels是水平,可以自行指定各离散的取值,不指定时由x的不同值来表示,labels可以用来指定各水平的标签 #不指定时用各离散取值的对应字符串 sex<-c("M","F","M",&

  • 如何在Python 中使用 join() 函数把列表拼接成一个字符串

    目录 1.设置 end=’’ 2.拼接字符串(string) 3.举例 内容概要:如何把列表中的元素拼接为一个字符串呢?本文介绍了采用 join() 函数的解决方法. 问题:有一个列表,比如:letters=[‘a’,‘b’,‘c’],想要把列表的元素连续显示出来,应该怎么办? 解决办法: 1.设置 end=’’ 如何使Python中的print()语句运行结果不换行 的方法,设置 end=’’. 如下代码所示: letters=['a','b','c'] for letter in lette

  • 如何在Python 中使用 join() 函数把列表拼接成一个字符串

    目录 1.设置 end=’’ 2.拼接字符串(string) 3.举例 内容概要:如何把列表中的元素拼接为一个字符串呢?本文介绍了采用 join() 函数的解决方法. 问题:有一个列表,比如:letters=[‘a’,‘b’,‘c’],想要把列表的元素连续显示出来,应该怎么办? 解决办法: 1.设置 end=’’ 如何使Python中的print()语句运行结果不换行 的方法,设置 end=’’. 如下代码所示: letters=['a','b','c'] for letter in lette

  • R语言最简单的向量赋值方法示例

    1. 生成等差数列的向量x x <- 1:10 #将x向量赋值为1 2 3 4 5 6 7 8 9 10 结果为 > x  [1]  1  2  3  4  5  6  7  8  9 10 2. 将x的值全部修改成0 x[] <- 0 #非常简洁的赋值方法,建议使用 x[1:length(x)] <- 0 #不建议使用的赋值方法 结果为: > x[] <- 0 > x  [1] 0 0 0 0 0 0 0 0 0 0 3.使用seq函数 x <- seq(

随机推荐