【发布时间】:2019-05-21 22:04:06
【问题描述】:
我是r 的新手,我对if() 语句有疑问。
我的数据如下:
Var1 Var2
4 2
6 2
5 1
3 3
2 1
我想创建一个名为Var3 的新变量。类似的东西
if Var2 = 1 then do; Var3 = Var1*30; end; else;
if Var2 = 2 then do; Var3 = Var1*4; end; else;
if Var2 = 3 then do; Var3 = Var1*1; end; else;
对创建代码的任何帮助将不胜感激。
【问题讨论】:
-
dplyr::case_when非常适合。 -
Case-when 逻辑如果你有复杂的表达式是好的,但是 R 也允许你避免一步一步的痛苦的表达式。例如,在这个例子中,这本质上是一个查找表——例如
dat$Var1 * c(30, 4, 1)[dat$Var2]
标签: r r dataframe if-statement