У меня проблема с тем, что в идеале мне нужно создавать новые значения и новые строки на основе длины строки.
Это мои исходные данные:
NumericCode1=c("12345","1234")
NumericCode2=c("0123.45","123.4")
AlphaCode=c("","")
df=data.frame(NumericCode1,NumericCode2,AlphaCode)
Я хотел бы обработать эти данные, используя следующую логику:
Если любое из значений в NumericCode1 или NumericCode2 больше 5 (считая только числа), то я бы хотел заполнить AlphaCode значениями AA: BB: CC для каждого. Таким образом, df будет выглядеть так:
NumericCode1=c("12345","1234")
NumericCode2=c("0123.45","123.4")
AlphaCode=c("AA:BB:CC","")
df=data.frame(NumericCode1,NumericCode2,AlphaCode)
Тогда я мог бы использовать этот код для создания отдельной записи для каждого и получить желаемый результат.
df %>%
separate_rows(AlphaCode, sep=":")
NumericCode1 NumericCode2 AlphaCode
1 12345 0123.45 AA
2 12345 0123.45 BB
3 12345 0123.45 CC
4 1234 123.4
Моя проблема в том, что я застрял на первом шаге. Я могу посчитать символы в строках, используя nchar
или str_lenght
, но я не могу понять, как " считать, если> 5, то сделать это ".
Любая помощь высоко ценится. Спасибо!