首页 > 解决方案 > 有没有一种方法可以在 R 中执行条件语句

问题描述

我正在尝试根据两个变量之间的条件在我的数据框中添加一个新列。我有两列visit.x 和visit.y。我想要一个新的列,称为访问次数。因此,如果某人有初次访问和首次访问,则表示访问次数为 2,如果 visit.x 或 visit.y 中有 NA,则表示访问次数为 1

我使用了以下代码。

df3$number_visit<-"NA"
for(i in 1:nrow(df3)) 
{
  if(df3[i,c("Vistis.x")]   ==  "initial"
     & df3[i,c("Vistis.y")] ==  "first")
  {
    df3$number_visit[i] <- "2"
  }
  if(df3[i,c("Vistis.x")]   ==        "initial"
     & df3[i,c("Vistis.y")] ==      NA)
  {
    df3$number_visit[i] <- "1"
  }
  if(df3[i,c("Vistis.x")]   ==        NA
     & df3[i,c("Vistis.y")] ==      "first")
  {
    df3$number_visit[i] <- "1"
  }
} 

我收到此错误消息

Error in if (df3[i, c("Vistis.x")] == "intial" & df3[i, c("Vistis.y")] ==  : 
  missing value where TRUE/FALSE needed

有人可以帮我解决这个问题吗 谢谢

标签: rif-statementconditional-statements

解决方案


推荐阅读