如何在 r 中使用子字符串函数(4 个示例)
R 中的substring()函数可用于提取字符向量中的子字符串。
该函数使用以下语法:
substring(text, first, last)
金子:
- text:字符向量名称
- 第一个:要提取的第一个元素
- 最后:要提取的最后一个元素
另请注意, substr()函数执行完全相同的操作,但参数名称略有不同:
substr(text, first, last)
金子:
- x:字符向量名称
- start:要提取的第一个元素
- stop:要提取的最后一个元素
本教程中的示例展示了如何在 R 中的以下数据帧中实际使用substring()函数:
#create data frame
df <- data. frame (team=c('Mavericks', 'Hornets', 'Rockets', 'Grizzlies'))
#view data frame
df
team
1 Mavericks
2 Hornets
3 Rockets
4 Grizzlies
示例 1:提取某些位置之间的字符
以下代码显示如何使用substring()函数提取“team”列的位置 2 和 5 之间的字符:
#create new column that contains characters between positions 2 and 5
df$between2_5 <- substring(df$team, first= 2 , last= 5 )
#view updated data frame
df
team between2_5
1 Mavericks aver
2 Hornets adorns
3 Rockets ocke
4 Rizz Grizzlies
请注意,新列包含“team”列的位置 2 和 5 之间的字符。
示例2:提取前N个字符
以下代码显示如何使用substring()函数从“team”列中提取前 3 个字符:
#create new column that contains first 3 characters
df$first3 <- substring(df$team, first= 1 , last= 3 )
#view updated data frame
df
team first3
1 Mavericks Mavs
2 Hornets Hor
3 Rockets Roc
4 Grizzlies Gray
请注意,新列包含“team”列的前三个字符。
示例 3:提取最后 N 个字符
以下代码显示如何使用substring()函数从“team”列中提取最后 3 个字符:
#create new column that contains last 3 characters
df$last3 <- substring(df$team, nchar (df$team)- 3 +1, nchar (df$team))
#view updated data frame
df
team last3
1 Mavericks cks
2 Hornets ets
3 Rockets ets
4 Grizzlies ies
请注意,新列包含“team”列的最后三个字符。
示例 4:替换子字符串
以下代码展示了如何使用substring()函数将“team”列中值的前 3 个字符替换为 3 个星号:
#replace first 3 characters with asterisks in team column
substring(df$team, first= 1 , last= 3 ) <- " *** "
#view updated data frame
df
team
1 ***ericks
2 ***net
3 ***kets
4 ***zzlies
请注意,每个团队名称的前三个字符已替换为星号。
其他资源
以下教程解释了如何在 R 中使用字符串执行其他常见操作:
如何在 R 中使用 str_replace
如何在 R 中执行部分字符串匹配
如何在 R 中将字符串转换为日期
如何在R中将字符转换为数字