У меня есть столбец данных, который выглядит примерно так:
ColA
""
"1"
"1,9"
"9,19"
"1,9,19"
В кадре данных есть сотни строк, и числа 1-30 могут появляться в разделенных запятыми списках.Я хотел бы разделить эти значения на их собственные столбцы и указать, присутствовало ли число с логическим значением.
colA_1 colA_9 colA_19
1 0 0
1 1 0
0 1 1
1 1 1
Я знаю, например, использование grepl("[1][9]",df$ColA)
будет захватывать нужные строки, и тогда я могуиспользуйте это, чтобы создать новый столбец для числа 19, но я не могу понять, что такое регулярное выражение, чтобы захватить однозначное число (например, 1), не захватывая другие числа (например, 11 или 21).Я признаю, что я не очень знаком с регулярными выражениями и обычно не нуждался в их использовании.Но мои несколько поисков в Google были напрасны.
Если бы это была всего лишь одна строка, комбинация unlist
и strsplit
могла бы помочь, но я не знаю, как применить это квесь столбец информационного кадра без просто итерации по строкам.
Я хотел бы узнать решение, которое не использует цикл, оно может быть с регулярным выражением или чем-то, что выполняет работу.