如何在 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中将字符转换为数字

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注