R中的substring()函数

时间:2020-02-23 14:43:56  来源:igfitidea点击:

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

大家好,希望您做得好。
今天,让我们集中讨论R中的替换功能。

substring()函数语法

子字符串:我们可以执行多种操作,例如值的提取,值的替换等。
为此,我们使用诸如substr()和substring()之类的函数。

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

其中:

  • x =输入数据/文件。

  • Start/First =子字符串的起始索引。

  • Stop/Last =子字符串的结束索引。

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

好吧,我希望您对语法非常清楚。
现在,让我们使用R中的substring()函数从字符串中提取一些字符。

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

输出=" Journal_dev"

#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()函数进行字符串替换

到现在为止,一切都很好!但是,如果要求您替换某些值,该值应该反映在所有存在的字符串中怎么办?

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

让我们看看它是如何工作的!

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

输出=" Alo $"" Jos $ph"" Hay $to"" Kel $y"" Pal $ma"" Moc $"

哦!发生了什么?字符串中的每个第4个字母都由" $"符号代替!

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

在上述情况下,所有输入字符串中的第4个字母都被substring()函数替换为" $"符号。

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

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

让我们看看它是如何工作的!

我们可以创建一个带有2列示例数据的数据框,分别是"技术"和"受欢迎程度"。
让我们从这些数据中提取一些特定的字符。
这会很有趣的。

#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