【发布时间】:2021-10-05 06:34:45
【问题描述】:
我的数据框如下:
df <- data.frame(Resource_Code = c("B-T234","B-T234","B-T234"),
"Valid_To"= c("2021-10-17", "2021-11-28", "2021-10-31"),
"V1"= c("2021-10-17", "2021-10-17", "2021-10-24"),
"V2" = c("2021-10-24", "2021-10-31", "2021-10-31"),
"V3" = c("2021-10-31", "2021-11-07", "2021-11-14"),
"V4" = c("2021-11-14", "2021-11-21", "2021-11-28"),
"V5" = c("2021-12-05", "2021-11-28", "2021-12-12"),
"V6" = c("2021-12-12", "2021-12-19", "2021-12-26"),
"V7" = c("2022-01-02", "2022-01-09", "2022-01-16"),
"V8" = c("2022-01-23", "2022-01-30", "2022-02-06"),
"V9" = c("2022-02-13", "2022-02-20", "2022-02-27"),
"v10" = c("2022-02-27", "2022-03-06", "2022-03-13"))
在所需的输出中,如果任何行单元格(从 V1 列开始)等于相应的“Valid_To”行单元格,则后续单元格(从 V1 列开始)应变为空白
实际的DF有数百行和列以及日期格式的V1到VN列
想要的输出如下:
df1 <- data.frame(Resource_Code = c("B-T234","B-T234","B-
T234"),
"Valid_To"= c("2021-10-17", "2021-11-28", "2021-10-31"),
"V1"= c("2021-10-17", "2021-10-17", "2021-10-24"),
"V2" = c("", "2021-10-31", "2021-10-31"),
"V3" = c("", "2021-11-07", ""),
"V4" = c("", "2021-11-21", ""),
"V5" = c("", "2021-11-28", ""),
"V6" = c("", "", ""),
"V7" = c("", "", ""),
"V8" = c("", "", ""),
"V9" = c("", "", ""),
"v10" = c("", "", ""))
我的代码如下: 我的代码没有给出想要的输出 请帮忙
for (i in 1:nrow(df1)){
for (j in 3:ncol(df1) ){
if (df[i,j] == df1[1,2]){
df[i,j + 1] <- ""
}
}
}
【问题讨论】:
标签: r