У меня есть dataframeКак назначить значение для столбца на основе другого значения столбца в R?
df <- data.frame(structure(list(col1= c("A", "B", "C", "D", "A"),
col2= c(1, 1, 1, 1, 5), col3 = c(2L, 1L, 1L, 1L, 1L)),
.Names = c("col1", "col2", "col3"),
row.names = c(NA, -5L), class = "data.frame"))
Я хочу добавить еще один столбец, COL4 со значениями на основе col2. Строки, имеющие одинаковое значение в col2, будут иметь одинаковое значение в col4.
Работая вокруг, я сгенерировал результат следующим образом.
x <- df[!duplicated(df$col2),]
x$col4 <- paste("newValue", seq(1:nrow(x)), sep="_")
df_new <- merge(x, df, by ="col2")
df_new <- df_new[,c("col2","col4", "col1.y", "col3.y")]
Это работает, но я думал, что есть лучший способ сделать это. Спасибо!