R语言substring()函数完全指南:用法、实例与常见问题解答
在R中的substring()函数 – 需要了解的事情(第1部分,共3部分)
在R中,substring()函数被广泛应用于提取数据中存在的字符或操作数据。您可以轻松地从字符串中提取所需的字符,也可以替换字符串中的值。
大家好,希望你们都过得不错。今天我们来聚焦于R中的substring()函数。
substring()函数的语法
我们可以执行多种操作,比如提取值、替换值等等。为了实现这一点,我们可以使用substr()和substring()这样的函数。
substr(x,start,stop)
substring(x,first,last=1000000L)
其中:
- x = 输入数据/文件
- Start / First = 子字符串的起始索引
- Stop / Last = 子字符串的结束索引
在R中使用substring()函数提取字符
好的,我希望你对语法有很清晰的理解。现在,让我们使用R中的substring()函数从字符串中提取一些字符。
#返回从第1个到第11个字符
df<-("Journal_dev_private_limited")
substring(df,1,11)
输出结果:”期刊_开发”
#返回从第1个到第7个字符
df<-("Journal_dev")
substring(df,1,7)
输出结果:”期刊”
恭喜你,你成功从给定的字符串中提取了数据。如你所见,在R中的substring()函数需要起始位置(first)和结束位置(last)作为参数,并对字符串进行索引,然后返回所需长度的子字符串。
在R中使用substring()函数替换
通过使用substring()函数,你还可以用你想要的值替换字符串中的值。听起来很有趣吧?那么让我们看看它是如何工作的。
#通过用空格替换下划线来返回字符串
df<-("We are_developers")
substring(df,7,7)=" "
df
输出结果:”我们是开发者”
#字符串替换
df<-("R=is a language made for statistical analysis")
substring(df,2,2)=" "
df
输出结果:”R是一个专为统计分析而开发的编程语言”
太棒了,你做到了!通过这种方式,你可以用你想要的值替换字符串中的字符。
在上述情况中,你已经用一个空格替换了”_”(下划线)和”=”(等号)。希望你现在理解得更清楚了。
使用substring()函数进行字符串替换
到目前为止,一切都很好!但是如果需要替换一些值,并且这些值需要在所有字符串中反映出来,该怎么办呢?
不要担心!我们可以替换这些值,并使它们在所有存在的字符串上反映出来。
让我们看看它是如何工作的!
# 将每个字符串的第4个字母替换为$
df<-c("Alok","Joseph","Hayato","Kelly","Paloma","Moca")
substring(df,4,4)<-c("$")
df
输出 = “阿洛$”、”约瑟夫$”、”海托$”、”凯利$”、”帕尔玛$”、”莫克$”
哦,发生了什么事?字符串中的每隔四个字母被替换成了”$”符号!
嗯,这就是 substring() 的用法。它可以用我们给定的值替换标记的位置。
在上述情况中,所有输入字符串中的每四个字母都被substring()函数替换成了”$”符号。这难以置信,不是吗?我觉得是的。你呢?
在R中使用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%
是的,我们现在已经创建了一个数据框。让我们提取一些文本。为此,请在R中运行以下代码,使用substr()函数从Technologies列中的所有字符串提取第8-10个字符。
# 创建包含提取值的新列
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中,可以通过多种方式获取/生成子字符串,这只是其中之一。
# 使用str_sub函数
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文档