在R中的substring()函数 – 需要了解的事情

在R中,Substring()函数被广泛应用于提取数据中存在的字符或操作数据。您可以轻松地从字符串中提取所需的字符,也可以替换字符串中的值。

大家好,希望你们都过得不错。今天我们来聚焦于R中的子串函数。

substring() 函数的语法

我们可以执行多种操作,比如提取值、替换值等等。为了实现这一点,我们可以使用substr()和substring()这样的函数。

substr(x,start,stop)
substring(x,first,last=1000000L)

哪里

  • x = the input data / file.
  • Start / First= starting index of the substring.
  • Stop / Last= Ending index of the substring.

在R中使用substring()函数提取字符。

好的,我希望你对语法有很清晰的理解。现在,让我们使用R中的substring()函数从字符串中提取一些字符。

#returns the characters from 1,11
df<-("Journal_dev_private_limited")
substring(df,1,11)

输出 = “期刊_开发”

#returns the characters from 1-7
df<-("Journal_dev")
substring(df,1,7)

输出 = “期刊”

恭喜你,你成功从给定的字符串中提取了数据。如你所见,在R中的substring()函数需要起始/第一个和末尾/最后一个值作为参数,并对字符串进行索引,并返回所需尺寸的子字符串。


在R中使用substring()函数替换

通过使用substring()函数,你还可以用你想要的值替换字符串中的值。听起来很有趣吧?那么让我们看看它是如何工作的。

#returns the string by replacing the _ by space
df<-("We are_developers")
substring(df,7,7)=" "
df

输出=“我们是开发者”

#string replacement 
df<-("R=is a language made for statistical analysis")
substring(df,2,2)=" "
df

输出 = “R是一个专为统计分析而开发的编程语言”。

太棒了,你做到了!通过这种方式,你可以用你想要的值替换字符串中的数值。

在上述情况中,您已经用一个空格替换了“_”(下划线)和“=”(等号)。希望您理解得更清楚。


使用substring()函数进行字符串替换

到目前为止,一切都很好!但是如果需要替换一些值,这些值需要在所有字符串中反映出来,该怎么办呢?

不要担心!我们可以替换这些值,并使它们在所有存在的字符串上反映出来。

让我们看看它是如何工作的! tā shì de!)

#replaces the 4th letter of each string by $
df<-c("Alok","Joseph","Hayato","Kelly","Paloma","Moca")
substring(df,4,4)<-c("$")
df

输出 = “阿洛$”、”约瑟夫$”、”海托$”、”凯利$”、”帕尔玛$”、”莫克$”

哦,发生了什么事?字符串中的每隔四个字母被替换成了“$”符号!

嗯,这就是 substring() 的用法。它可以用我们给定的值替换标记的位置。

在上述情况中,所有输入字符串中的每四个字母都被substring()函数替换成了”$”符号。这难以置信,不是吗?我觉得是的。你呢?


在R中使用substr()和str_sub()函数

我们已经专注于行,现在我们也将关注列中字符的提取。

让我们看看它是如何工作的! tā shì de!)

我们可以创建一个数据框,其中包含两列样本数据,分别是技术和受欢迎程度。让我们从这些数据中提取一些特定的字符,这将很有趣。

#creates the data frame
df<-data.frame(Technologies=c("Datascience","machinelearning","Deeplearning","Artificalintelligence"),Popularity=c("70%","85%","90%","95%"))
df
           Technologies      Popularity
1           Datascience        70%
2       machinelearning        85%
3          Deeplearning        90%
4 Artificalintelligence        95%

是的,我们现在已经创建了一个数据框。让我们提取一些文本。为此,请在R中运行以下代码,使用substr()函数从Technologies列中的所有字符串提取第8-10个字符。

#creates new column with extracted values
df$Extracted_Technologies=substr(df$Technologies,8,10)
df

输出 = 结果

             Technologies       Popularity     Extracted_Technologies
1           Datascience_DS        70%                    enc
2       machinelearning_ML        85%                    lea
3          Deeplearning_DL        90%                    rni
4 Artificalintelligence_AI        95%                    ali

现在,你可以看到我们创建了一个新的列,其中包含提取的数据。就像这样,你可以通过指定索引值来提取数据。


R中使用str_sub()函数

我们看到了substr()函数的运行方式。现在,正如我之前提到的,我们将研究str_sub()函数及其提取方式。

我们开始吧!

我们再次要创建相同的数据框,其中包括技术及其受欢迎程度的数据。

df<-data.frame(Technologies=c("Datascience","machinelearning","Deeplearning","Artificalintelligence"),Popularity=c("70%","85%","90%","95%"))
df
           Technologies      Popularity
1           Datascience        70%
2       machinelearning        85%
3          Deeplearning        90%
4 Artificalintelligence        95%

嗯,让我们使用str_sub()函数,它将返回索引字符作为输出。在R中,可以通过多种方式获取/生成子字符串,这只是其中之一。

#using the str_sub function
df$Extracted_Technologies=str_sub(df$Technologies,10,15)
> df

正如您所见,str_sub()函数提取了索引值并返回如下所示的输出。

           Technologies   Popularity    Extracted_Technologies
1           Datascience        70%                     ce
2       machinelearning        85%                 arning
3          Deeplearning        90%                    ing
4 Artificalintelligence        95%                 intell

总结

是的,获取或生成给定字符串的子字符串是相当简单的任务。感谢像substr()、substring()和str_sub()这样的函数,使子字符串成为一个有趣和令人兴奋的操作。

暂时就这些。别忘了在计算中充分利用这个令人惊叹的功能。祝你愉快地进行子字符串操作!

更多学习:R文档

发表回复 0

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


广告
将在 10 秒后关闭
bannerAds