Я пытаюсь создать новое поле на основе существующего поля. По сути, если строка в существующем поле содержит строку, начинающуюся с #, используйте значение в этой строке для строки в новом поле. Если это не так, используйте самое последнее значение в существующем поле (с #) для этой строки в новом поле.
Извините, если это звучит странно, вот иллюстрация:
df = data.frame(V1 = c("#text1", 1, 3, 4, "#text2", 2, 4, 3, "#text3"),
stringsAsFactors = FALSE)
df_desired = data.frame(V1 = c("#text1", 1, 3, 4, "#text2", 2, 4, 3, "#text3"),
newcol = c("#text1", "#text1", "#text1", "#text1", "#text2", "#text2", "#text2", "#text2", "#text3"),
stringsAsFactors = FALSE)
Вот то, что я пытался, но он возвращает ошибку:
df_new = df %>% mutate(newcol = ifelse(grep("#", df$V1[]) == 1, df$V1[],lag(df$V1[])))
Спасибо!