Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.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 根据ifelse()分配变量值_R_If Statement_Indexing - Fatal编程技术网

R 根据ifelse()分配变量值

R 根据ifelse()分配变量值,r,if-statement,indexing,R,If Statement,Indexing,我试图给一个函数的输出赋值,在这个函数中,我想向下采样数据。 函数应该以块的形式在数据集上迭代,但如果迭代器k(此处未显示)已完成对整个数据集的迭代,则函数应该返回一个随机块 问题在于,当试图通过检查索引和分配随机值进行区分时,从ifelse()语句返回的值是一个整数 n = c(1:972) #indices of negative class chunkSize = 98 start = 1 stop = -97 n = ifelse(stop < 0, n[sa

我试图给一个函数的输出赋值,在这个函数中,我想向下采样数据。 函数应该以块的形式在数据集上迭代,但如果迭代器
k
(此处未显示)已完成对整个数据集的迭代,则函数应该返回一个随机块

问题在于,当试图通过检查索引和分配随机值进行区分时,从
ifelse()
语句返回的值是一个整数

n = c(1:972) #indices of negative class
chunkSize = 98
start = 1
stop = -97
n = ifelse(stop < 0,
           n[sample( n, chunkSize)],
           n[start:stop]
)
我想这和
ifelse()
有关,但我是R的初学者,我已经花了很多时间试图解决这个问题

有人能指出是什么导致了这种行为,或者想出一个替代的解决方案吗


非常感谢

当您有单个值要检查时,请使用
if
/
else
而不是
ifelse
ifelse
用于向量

n = c(1:972) 
chunkSize = 98
start = 1
stop = -97
n = if(stop < 0) n[sample( n, chunkSize)] else n[start:stop]
n=c(1:972)
chunkSize=98
开始=1
停止=-97
n=if(stop<0)n[样本(n,chunkSize)]else n[开始:停止]
n = c(1:972) 
chunkSize = 98
start = 1
stop = -97
n = if(stop < 0) n[sample( n, chunkSize)] else n[start:stop]