如何按列中的最后一个字母分组
How to group by a last letter in a column
我要为我的作业创建一个图表,该图表应该是基于一列值的最后一个字母的线图。例如:
data <- data.frame(c('apple', 'banana', 'pie', 'fries', 'tomato', 'cheese'))
data %>%
group_by(here i should group by names ending with the same last letter)
...
以上只是大纲和我正在努力实现的示例。我寻找解决方案但找不到。解决办法是什么?
先谢谢了!
您可以使用 stringr::str_sub()
:
data %>%
group_by(last_letter = stringr::str_sub(column, -1, -1))
这里有几个其他选项 -
- 与
substring
-
library(dplyr)
data <- data.frame(col = c('apple', 'banana', 'pie', 'fries', 'tomato', 'cheese'))
data %>% group_by(grp = substring(col, nchar(col)))
- 使用
sub
-
data %>% group_by(grp = sub('.*(.)$', '\1', col))
选项str_replace
library(dplyr)
library(stringr)
data %>%
group_by(grp = str_replace(col, ".*(.)$", "\1"))
我要为我的作业创建一个图表,该图表应该是基于一列值的最后一个字母的线图。例如:
data <- data.frame(c('apple', 'banana', 'pie', 'fries', 'tomato', 'cheese'))
data %>%
group_by(here i should group by names ending with the same last letter)
...
以上只是大纲和我正在努力实现的示例。我寻找解决方案但找不到。解决办法是什么?
先谢谢了!
您可以使用 stringr::str_sub()
:
data %>%
group_by(last_letter = stringr::str_sub(column, -1, -1))
这里有几个其他选项 -
- 与
substring
-
library(dplyr)
data <- data.frame(col = c('apple', 'banana', 'pie', 'fries', 'tomato', 'cheese'))
data %>% group_by(grp = substring(col, nchar(col)))
- 使用
sub
-
data %>% group_by(grp = sub('.*(.)$', '\1', col))
选项str_replace
library(dplyr)
library(stringr)
data %>%
group_by(grp = str_replace(col, ".*(.)$", "\1"))