如何在R中使用strsplit()函数?
作为程序员,您可能需要处理大量字符串。
您将经常执行串联和拆分操作。
R中带有strsplit()函数。
在上一篇文章中,我们讨论了paste()函数来连接字符串。
现在,让我们看看如何使用strsplit()分割字符串向量。
strsplit()是一个出色的R函数,它将输入字符串向量分成多个子字符串。
让我们看看该函数的工作原理以及使用strsplit()在R中执行字符串拆分的所有方法是什么。
Strsplit()函数语法
Strsplit():一种R语言函数,用于使用拆分参数将字符串拆分为子字符串。
strsplit(x,split,fixed=T)
其中:
X =输入数据文件,向量或者字符串。
拆分=将字符串拆分为所需的格式。
固定=匹配拆分或者使用正则表达式。
在R中使用strsplit()函数–实现
在本节中,我们来看一个简单的示例,该示例显示strsplit()函数的用例。
在这种情况下,strsplit()函数会将给定的输入拆分为字符串或者值的列表。
让我们看看它是如何工作的。
df<-("R is the statistical analysis language") strsplit(df, split = " ")
输出=
"R" "is" "the" "statistical" "analysis" "language"
我们做到了!这样,我们可以轻松拆分数据中存在的字符串。
strsplit()函数的最佳用法之一是绘制词云。
在这种情况下,我们需要大量的字符串来绘制最受欢迎或者重复的单词。
因此,为了从数据中获取字符串,我们使用此函数返回字符串列表。
1.将strsplit()函数与定界符一起使用
分隔符通常是一个简单的符号,字符或者值,用于分隔数据中的单词或者文本。
在本节中,我们将研究使用各种符号作为分隔符。
df<-"get%better%every%day" strsplit(df,split = '%')
输出=
"get" "better" "every" "day"
在这种情况下,输入文本将%作为分隔符。
现在,我们关心的是删除定界符并将文本作为字符串列表获取。
strsplit()函数在此处完成了相同的操作。
它删除了定界符,并将字符串作为列表返回。
2.带正则表达式定界符的strsplit()函数
在本节中,我们将研究使用正则表达式的文本拆分。
听起来不错?我们开始做吧。
df<-"all16i5need6is4a9long8vacation" strsplit(df,split = "[0-9]+")
输出=
"all" "i" "need" "is" "a" "long" "vacation"
在此示例中,我们输入的数字位于0-9之间。
因此,我们使用正则表达式[0-9] +来通过删除数字来分割数据。
strsplit()函数将返回字符串列表作为输出,如上所示。
3.分割输入字符串中的每个字符
到现在为止,我们已经遇到了各种分割给定字符串的方法。
现在,如果我们想分割字符串的每个字符怎么办?好吧,我们使用带有不同split参数的strsplit()函数提取每个字符。
让我们看看它如何运作。
df<-"You can type q() in Rstudio to quit R" strsplit(df,split="")
输出=
"Y" "o" "u" " " "c" "a" "n" " " "t" "y" "p" "e" " " "q" "(" ")" " " "i" "n" " " "R" "s" "t" "u" "d" "i" "o" " " "t" "o" " " "q" "u" "i" "t" " " "R"
4.在R中使用strsplit()函数拆分日期
strsplit()函数的另一个最佳应用是分割日期。
这个用例非常酷,值得做。
在本节中,让我们看看它是如何工作的。
test_dates<-c("24-07-2017","25-07-2017","26-07-2017","27-07-2017","28-07-2017") test_mat<-strsplit(test_dates,split = "-") test_mat
输出=
"24" "07" "2017" "25" "07" "2017" "26" "07" "2017" "27" "07" "2017" "28" "07" "2017"
您可以看到一个不错的输出,对吗?使用此功能,我们还可以根据输入字符串或者数据创建许多拆分。
您还可以将日期转换为矩阵格式。
matrix(unlist(test_mat),ncol=3,byrow=T)
输出=
[,1] [,2] [,3] [1,] "24" "07" "2017" [2,] "25" "07" "2017" [3,] "26" "07" "2017" [4,] "27" "07" "2017" [5,] "28" "07" "2017"
您可以从拆分数据创建矩阵的情况下看到以上结果。
对组织数据而言,这对于进一步处理非常重要。
除非将文本转换或者组织为一种可靠的形式(如上述示例),否则仅拆分文本是没有任何意义的。