如何将某个字符串设置为if语句中的条件?

时间:2013-11-18 16:33:24

标签: r if-statement

如上所述:我是新手,我正在尝试创建一些条件,以便在列中生成不同字符串的函数。 我有一个包含4列的数据框,并希望添加一个由以下函数计算的新列。如果我执行此操作,我会收到一个不适合的错误,因为该列有113行,结果只有95。 我只想要95个结果,并且想要计算具有不同条件的缺失行(字符串:P2)。

如果您看不到我的问题:如何计算不合适的行?在使用了所有需要的条件(该列中的不同字符串是'origin')之后,我想要一个填充列。

#badtry 1
originp1x<-function(origin,final_distance,rads,P1X=481073) 
  for ("P1" in Origin) { x<-(sin(rads) * final_distance)
  xp1=(P1X+x)
  return(xp1)
  }

xfinal<-originp1x(dat$origin,dat$final_distance,dat$rads,P1X)
dat$xfinal<-xfinal

编辑: 部分工作zx8754,但如果我只想要几行? - 仅适用于原始列中的所有“P1”?

id    origin    final_distance    rads    
1       P1          12             0,2
2       P2          13             0,2
3       P1           7             0,09
4       P4          11             0,08
5       P3           9             0,05

1 个答案:

答案 0 :(得分:0)

请继续阅读vectorisation,试试这个:

dat$xfinal <- ifelse(dat$origin=="P1",481073+sin(dat$rads)*dat$final_distance,NA)