Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.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_Function_Parameters - Fatal编程技术网

R 有条件地选择数据帧或数据集,但不正确地接收列表

R 有条件地选择数据帧或数据集,但不正确地接收列表,r,function,parameters,R,Function,Parameters,我试图创建一个函数来有条件地选择数据帧 然而,我一直收到第一列我无法理解的值的列表,而不是实际的数据集 func1=function(type) ifelse(type=='B', mtcars, iris) data=func1('A') 尝试: 尝试: 请参见?ifelse——参数yes和no的长度应与test的长度相同。您的测试的长度为1,因此输出也被强制为1 只需使用常规的if语句: func1 <- function(type) if (type == "B") mtcars

我试图创建一个函数来有条件地选择数据帧

然而,我一直收到第一列我无法理解的值的列表,而不是实际的数据集

func1=function(type) ifelse(type=='B', mtcars, iris)
data=func1('A')
尝试:

尝试:

请参见
?ifelse
——参数
yes
no
的长度应与
test
的长度相同。您的
测试
的长度为1,因此输出也被强制为1

只需使用常规的
if
语句:

func1 <- function(type) if (type == "B") mtcars else iris
是一种快速、肮脏(且效率低下)的投币抽签方式。

请参见
?ifelse
——参数
yes
no
的长度应与
test
相同。您的
测试
的长度为1,因此输出也被强制为1

只需使用常规的
if
语句:

func1 <- function(type) if (type == "B") mtcars else iris

这是一种快速、肮脏(且效率低下)的投币抽奖方式。

我真的很惊讶这能奏效。考虑到我在
?ifelse
?中发现的情况,也许可以添加一些解释来解释它为什么会这样做?我真的很惊讶它能起作用。考虑到我在
?ifelse
中找到的内容,也许可以添加一些解释来解释为什么会这样做?
ifelse(runif(10) > .5), "Heads", "Tails")