向列中的某些数据点添加字母

add a letter to some data points in a column

我有一个名为“日期”的数字列,它是数据框中的第 4 列,我想在该列的数据点末尾添加一个字母“W”,但仅限于第 1-150 行,比如“2015W”、“2017W”。其余 151-250 行的“日期”中的数据点,末尾应有一个字母“E”,如“2018E”、“2020E”。有什么建议吗,伙计们?

可能

paste0(mtcars$mpg,ifelse(row(mtcars[,"mpg",drop=F])<10,"W","E"))

前 10 行 WITH,其他 E.

假设您的数据是:

Data = data.frame(d1=c(1:300), d2=c(1:300), d3=c(1:300), d4=c(2001:2300))

如果你的选择不超过两个,你可以使用这个

Data[1:150,4] = paste0(Data[1:150,4], "W")
Data[151:250,4] = paste0(Data[151:250,4], "E")

如果它更多,你可以使用这个:

Groups = c(rep("W",150), rep("E", 100), rep("D", 50))
Data[,4] = apply(data.frame(Data[,4], Groups), 1, paste0, collapse="")

使用paste0()rep()函数如下:

df$date <- paste0(df$date, rep(c("W", "E"), c(150, 100)))