在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文档