Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
';如果';R中的语句_R_If Statement - Fatal编程技术网

';如果';R中的语句

';如果';R中的语句,r,if-statement,R,If Statement,考虑以下数据: library(Benchmarking) x <- c(4,2,4,6,9,2) y <- c(2,1,5,2,10,4) k <- c(25,25,25,30,30,30) d <- data.frame(x,y,k) 但这是行不通的。有人能告诉我如何在R中编写此代码吗?如果我正确地解释了您的问题,您可以使用apply轻松完成此操作 如果您希望XREF和YREF在K=25时只考虑列X,则: apply(d, 1, function (df) if (

考虑以下数据:

library(Benchmarking)
x <- c(4,2,4,6,9,2)
y <- c(2,1,5,2,10,4)
k <- c(25,25,25,30,30,30)
d <- data.frame(x,y,k)

但这是行不通的。有人能告诉我如何在
R
中编写此代码吗?

如果我正确地解释了您的问题,您可以使用
apply
轻松完成此操作

如果您希望XREF和YREF在K=25时只考虑列X,则:

apply(d, 1, function (df) if (df["k"] == 25) {
  dea(df["x"], df["y"], XREF = df["x"], YREF = df["x"]) 
  } else {
      dea(df["x"], df["y"], XREF = df["x"], YREF = df["y"])
    }
)
这与您展示的示例代码不同。这相当于:

apply(d, 1, function (df) if (df["k"] == 25) {
  dea(df["x"], df["y"], XREF = df["x"], YREF = df["y"]) 
  } else {
      dea(df["x"], df["y"])
    }
)
with(子集(d,k==25)、dea(d$x,d$y,XREF=x,YREF=y))


其中
d$
表示法使用原始完整数据,直接
x
y
表示
子集中的变量

在使用
dea
函数之前过滤
d
怎么样<代码>d
apply(d, 1, function (df) if (df["k"] == 25) {
  dea(df["x"], df["y"], XREF = df["x"], YREF = df["x"]) 
  } else {
      dea(df["x"], df["y"], XREF = df["x"], YREF = df["y"])
    }
)
apply(d, 1, function (df) if (df["k"] == 25) {
  dea(df["x"], df["y"], XREF = df["x"], YREF = df["y"]) 
  } else {
      dea(df["x"], df["y"])
    }
)