在R中如何使用strsplit()函数?

作为一名程序员,你可能需要处理大量的字符串。你经常会进行字符串的拼接和分割。在R语言中,有一个函数叫做strsplit()可以帮助我们进行字符串的分割。在前一篇文章中,我们已经讨论了用于拼接字符串的paste()函数。现在,让我们来看看如何使用strsplit()函数来进行字符串向量的分割。

strsplit()是一种出色的R函数,它可以将输入的字符串向量分割成子字符串。让我们看看这个函数是如何工作的,以及使用strsplit()在R中进行字符串分割的各种方法。


Strsplit() 函数的语法

Strsplit():它是一种用于将字符串根据参数进行拆分为子字符串的R语言函数。

strsplit(x,split,fixed=T)

哪里

  • X = input data file, vector or a stings.
  • Split = Splits the strings into required formats.
  • Fixed = Matches the split or uses the regular expression.

在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()函数将返回一个字符串列表作为输出,如上所示。


分割输入字符串中的每个字符

到目前为止,我们已经遇到了各种类型的字符串分割。那么,如果我们想要分割字符串的每一个字符怎么办呢?嗯,我们可以使用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"

在R中使用strsplit()函数拆分日期。

strsplit()函数的另一个最佳应用是将日期拆分。这个应用场景非常酷,值得一试。在本部分中,让我们看看它是如何工作的。

test_dates<-c("24-07-2020","25-07-2020","26-07-2020","27-07-2020","28-07-2020")
test_mat<-strsplit(test_dates,split = "-")
test_mat

输出=结果

 "24"   "07"   "2020"

"25"   "07"   "2020"

"26"   "07"   "2020"

"27"   "07"   "2020"

"28"   "07"   "2020"

你可以看到一个好看的输出,对吧?使用这个函数,我们可以从输入的字符串或数据中创建很多拆分。你还可以将日期转换为矩阵格式。

matrix(unlist(test_mat),ncol=3,byrow=T)

输出 = 输出

     [,1]  [,2]  [,3]  
[1,] "24" "07" "2020"
[2,] "25" "07" "2020"
[3,] "26" "07" "2020"
[4,] "27" "07" "2020"
[5,] "28" "07" "2020"

您可以看到我们从拆分的数据中创建了一个矩阵的结果。将数据组织起来非常重要,以便进行进一步的处理。仅仅拆分文本而不进行转化或组织成以上的可靠形式是没有意义的。


结论

好了,我们到了文章的结尾,我希望现在你对R语言中的strsplit()函数的工作原理和用法有了更好的了解。这个函数在字符串分割方面非常常用且受欢迎。就这些了,我们下次再介绍另一个函数。

更多学习: R文档

发表回复 0

Your email address will not be published. Required fields are marked *