Я продолжаю получать это предупреждение, используя grepl с факторной переменной в выражении ifelse: «аргумент 'pattern' имеет длину> 1, и будет использоваться только первый элемент"
У меня есть эти переменные: x7 иY7.x7 - это символьная переменная, которая является взаимоисключающей, y7 - это факторная переменная, которая не является взаимоисключающей и, таким образом, представляет собой строку чисел (от 0 до 9).
x7 может заканчиваться любой буквой, но я хочу ограничиться равным Z или J. Если он равен Z, я хочу, чтобы y7 заканчивался любым из этих значений в строке (0, 1,2, 3, 4).
Вот что я написал:
test = ifelse( ( x7 %in% c( "Z" ) & grepl( c( 0 , 1 , 2 , 3 , 4 ) , y7 ) ) | x7 %in% c( "J" ) , 1 , 0 )
Итак, создаем фиктивную переменную (test), если x7 - Z, а y7 - 0: 4 ИЛИ, если x7 - J, это 1. Все остальныебудет 0.
Я продолжаю получать это предупреждение: «аргумент« шаблон »имеет длину> 1 и будет использоваться только первый элемент», то есть в z7 рассматривается только 0, а не 0: 4.
Итак, если это «123» или «246», он не будет считать их, потому что он не начинается с 0. Но он будет считать, если это «014» или «056».Мне нужно, чтобы он подсчитал все последовательности, которые включают любое из чисел от 0 до 4, а не только те, которые начинаются с 0.
Если любое из этих значений (0, 1, 2, 3, 4) находится вбудет создана строка-пустышка, равная 1.