【发布时间】:2019-04-09 01:24:35
【问题描述】:
我在 R 中有一个数据框,其中一列有多个变量。变量以 ABC、DEF、GHI 开头。这些变量后跟一系列 6 个数字(即 ABC052689、ABC062895、DEF045158)。
对于每一行,我想提取一个 ABC 实例(编号最大的那个)。
如果该行有ABC052689、ABC062895、DEF045158,我希望它拉出ABC062895,因为它大于ABC052689。
然后我想对以 DEF###### 开头的变量执行相同的操作。
我已设法过滤数据,使其具有 ABC 所在的行,而 DEF 或 GHI 所在的行:
library(tidyverse)
data_with_ABC <- test %>%
filter(str_detect(car,"ABC"))
data_with_ABC_and_DEF_or_GHI <- data_with_ABC %>%
filter(str_detect(car, "DEF") | str_detect(car, "GHI"))
我不知道怎么抽出来,比如说数字最大的 ABC
ABC052689, ABC062895, DEF045158 -> ABC062895
【问题讨论】:
-
要明确:数据框
test包含一列car,其中该列的每一行都是逗号分隔的字符串? -
是的@neilfws 你是对的。数据框“测试”包含一列“汽车”,其中每一行包含一个逗号分隔的字符串
标签: r