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