最近在处理字符串数据的时候遇到这个问题,解决字符串问题,当然首选是stringr包,可以先认真读官方文档,如果里面的函数都无法解决,再去找别的方法。我开始使用的是网上最常见的函数str_split(),返回一个list,并不是特别友好,所以改用了str_split_fixed()函数。
library("stringr")
library("dplyr")
data=data.frame(var_1=paste("goodboy",1:10,sep="_"))
数据长这样。
我们使用str_split_fixed()对数据进行拆分。
new_data=str_split_fixed(data$var_1,"_",2)%>%data.frame()
这里str_split_fixed()中,data$var_1是拆分的对象,"_"是拆分的字符,2是拆分的列数,最后用data_frame()转换成数据框。数据长这样。
最后,我们用rename()对X1和X2重命名成自己需要的变量名就好。
最近在处理字符串数据的时候遇到这个问题,解决字符串问题,当然首选是stringr包,可以先认真读官方文档,如果里面的函数都无法解决,再去找别的方法。我开始使用的是网上最常见的函数str_split(),返回一个list,并不是特别友好,所以改用了str_split_fixed()函数。
before = data.frame(attr = c(1,30,4,6), type=c('foo_and_bar','foo_and_bar_2'))
attr type
1 1 f
有一种分隔符
data5[,1]<-as.character(data5[,1])
month<-t(as.data.frame(strsplit(data5[,1],split="/")))[,2]
有两种分隔符
a<-strsplit(data5[,1],split="/|-")#
数据
中有/和-两种分隔符
huoguo<-array()
xiangguo<-arr...
R的
字符串
分割用常用的函数是strsplit。
strsplit(x, split, fixed = FALSE, perl = FALSE, useBytes = FALSE)
x是一个
字符串
。
split分割是用到的字符分隔符。可以为正则表达式。
空格分割例子
strValue <- "Hello World Henry"
strsplit(strValue, " ")
#resul...
R语言
中
数据
框某
一列
进行分割,变成
两列
type id pedigree trait1 trait2 trait3
1 training L0001 f1_X_m1 -1.746103 -0.7855251 -0.331637
2 training L0002 f2_X_m1 -1.679248 -1.5694899 -2.572614
3 training L0003 f3_X_m1 -2.748920 -0.6086439 -1.108812
4 traini
简单的
数据
结构,随便弄的
字符串
空格删除。编写一个删除
字符串
中所有空格(包括TAB符,回车符,换行符等)的程序。
字符串
的连接。输入两个
字符串
s1、s2,将
字符串
s1、s2中每个小写字母转换为大写字母,再将s2
字符串
连接到s1串的尾部。
字符串
的比较。输入两个
字符串
s1、s2,比较
字符串
s1、s2的大小。
数制转换。编写一个将16进制数字串转换成10进制整数的程序。要求从键盘上输入
字符串
,然后进行转换。
關於數據集(dataset)的處理,往往讀入數據集後,需要進一步對於數據進行拆分或合併處理,以利銜接後續數據分析工作。在R語言中,可利用安裝包 stringr中的str_split_fixed指令,根據特定字元拆分批量數據,達到數據匯總之效果。
本文利用經典的MovieLens數據集做為範例,其中該數據集包含movies.dat、ratings.dat和users.dat,我們以ratings.dat檔案做為拆分的範例說明。
a.首先,用read.table將ratings.dat讀入檔案,檔案數據排列
library(dplyr)
separate(data, col, into, sep = "[^[:alnum:]]+", remove = TRUE, convert = FALSE, extra = "warn", fill = "warn", ...)
data:
数据
框格式
col: 要分解的列,可以是列名c(“col1”, “col2”),也可以是位置c(1,2)
into: 分解...