假设我在tbl中有一个“选项代码”列,数据是这样的:
m1803-C-2550
m1807-P-3050
我想在“-”作为我的新变量“期权类型”和第二个“-”之后的2550/3050之间获得C / P,作为我的新变量“行使价”。
如何用tidyverse
编码?
现在,我可以通过以下方式解决第一个问题:>
tbl %>% mutate(option_type = str_sub(option_code, str_locate(option_code, "[CP]"))
但是我无法解决我的第二个问题,否则你们可能有一种优雅的方式来解决我的第一个问题。
假设我的tbl中有一个“选项代码”列,数据是这样的:m1803-C-2550 m1807-P-3050我想在“-”之间抓取C / P作为新变量“选项类型” ,以及第二个“-”之后的2550/3050 ...
您可以使用separate()
中的tidyr
通过分隔符分割字符串。
尝试一下:
Base R解决方案: