我有一個數據幀如何分配基於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"))
我想基於COL2值添加額外列,COL4。在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")]
這個工程,但我認爲有這樣做的更好的方法。 謝謝!