我的表中有两行表。第一行将始终为“NA”,第二行将始终为1或2.我想检查第二行是1还是2,并将“NA”行更改为相反。示例如下:
表1:
ID Team
100 NA
101 2
期望的结果1:
ID Team
100 1
101 2
表2:
ID Team
100 NA
101 1
期望的结果2:
ID Team
100 2
101 1
任何帮助将不胜感激!
答案 0 :(得分:0)
如果你总是只有两行:
df1 <- data.frame(ID=c(100,101),Team=c(NA,2))
df1$Team[1] <- ifelse(df1$Team[2]==1,2,1)
ID Team
1 100 1
2 101 2
答案 1 :(得分:0)
这是一个用来估算缺失值的函数。
library(dplyr)
fill_fun <- function(dt){
dt <- dt %>%
mutate(Team = ifelse(is.na(Team) & nth(Team, 2) == 2, 1,
ifelse(is.na(Team) & nth(Team, 2) == 1, 2, Team)))
return(dt)
}
fill_fun(dt1)
ID Team
1 100 1
2 101 2
fill_fun(dt2)
ID Team
1 100 2
2 101 1
数据强>
dt1 <- read.table(text = "ID Team
100 NA
101 2",
header = TRUE)
dt2 <- read.table(text = "ID Team
100 NA
101 1",
header = TRUE)