Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.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:对NA和vector的误解';s大厦_R_Vector_Na - Fatal编程技术网

R:对NA和vector的误解';s大厦

R:对NA和vector的误解';s大厦,r,vector,na,R,Vector,Na,我有两个向量:向量1和向量2,长度相同。我只想得到vector1的值,其中vector1不是na,vector2不是na。我试过使用该代码,但不起作用: vector1step1<-ifelse(((is.na(vector1)==F)&(is.na(vector2)==F)), vector1, NA) vector1step2<-vector1step1[!is.na(vector1step1)] vector1step1考虑这一点的最佳方式可能是将其作为data.fr

我有两个向量:向量1和向量2,长度相同。我只想得到vector1的值,其中vector1不是na,vector2不是na。我试过使用该代码,但不起作用:

vector1step1<-ifelse(((is.na(vector1)==F)&(is.na(vector2)==F)), vector1, NA)
vector1step2<-vector1step1[!is.na(vector1step1)]

vector1step1考虑这一点的最佳方式可能是将其作为data.frame或matrix,并创建第三个向量,该向量由对每一行的apply调用产生。差不多

dta <- data.frame(v1 = vector_step1, v2=vector_step2)
dta$v3 <- apply(dta, 1, function(x) ifelse(!is.na(x[1]), x[1], x[2]))

dta Try
vector1[!is.na(vector1)和!is.na(vector2)]
@docendodiscimus您应该继续并将其作为答案发布。不,
apply
不是最好的方法。没有理由在行上循环。另外,不要对长度为1的向量使用
ifelse
。在这种情况下,使用
if
else