Как вы можете читать? strsplit, аргумент split в функции strsplit является регулярным выражением . Следовательно, либо вам нужно избежать вертикальной полосы (это специальный символ)
strsplit(r,split='\\|and')
, либо вы можете выбрать fixed = TRUE, чтобы указать, что split не является регулярным выражением
strsplit(r,split='|and',fixed=TRUE)