R-用特定符号分隔,垂直裸露,| [英] R - separate with specific symbol, vertical bare, |
本文介绍了R-用特定符号分隔,垂直裸露,|的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个数据集,其中有一列带有符号‘|’(来自模型中两个变量的交互),我想根据这个字符拆分它。
分隔函数与标准字符配合使用效果很好,您知道如何指定字符‘|’吗?
library(tidyverse)
df <- data.frame(Interaction = c('var1|var2'))
# as expected
df %>% separate(Interaction, c('var1', 'var2'), sep = '1')
# var1 var2
# 1 var |var2
# not as expected
df %>% separate(Interaction, c('var1', 'var2'), sep = '|')
# var1 var2
# 1 v
推荐答案
我们可以转义\
|
,因为它是为OR
指定正则表达式的元字符,并且sep
默认情况下处于regex
模式
如果我们查看?separate
文档,
分隔(DATA,COL,INTO,SEP="[^[:alnum:]+",Remove=TRUE, Convert=False,Extra="Warn",Fill="Warn",...)
,描述为
如果是字符,则被解释为正则表达式。默认值是与任何非字母数字值序列匹配的正则表达式。
df %>%
separate(Interaction, c('var1', 'var2'), sep = '\|')
或放在方括号中
df %>%
separate(Interaction, c('var1', 'var2'), sep = '[|]')
这篇关于R-用特定符号分隔,垂直裸露,|的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文