кажется, что символы вашего фрейма данных анализируются как фактор, что означает, что они являются скрытыми целыми числами.
, чтобы избежать этого, вы можете либо поставить параметр stringsAsFactors = FALSE, когда вы читаете, либо создаете data.frame ... Или обновитесь до версии 4.0, которая только что удалила это поведение по умолчанию;)
Тогда вы, вероятно, столкнетесь с другой проблемой, потому что вам нужно подмножество правой стороны df $ Period No.
, чтобы иметь такое же количество наблюдений, как в левой части.
пример разрешения, повторный анализ коэффициента как символов:
df <- data.frame(a=c("john","jane","pamela","jessica"),b=1:4)
df$a <- as.character(df$a)
boolean <- startsWith(df$a,"j")
df[boolean,"a"] <- df[boolean,"b"]