Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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值?_R_Raster - Fatal编程技术网

R 矩阵的每行中有多少个非NA值?

R 矩阵的每行中有多少个非NA值?,r,raster,R,Raster,我有一个矩阵(光栅),我正在计算该光栅中每行的平均值,如下所示: library (raster) r <- raster(nrows=10, ncols=10);r <- setValues(r, 1:ncell(r)) extent(r) = extent(c(xmn=-180,xmx=180,ymn=-90,ymx=90)) stepsize = (r@extent@ymax - r@extent@ymin) / r@nrows yvals = seq(r@

我有一个矩阵(光栅),我正在计算该光栅中每行的平均值,如下所示:

  library (raster)
  r <- raster(nrows=10, ncols=10);r <- setValues(r, 1:ncell(r))
  extent(r) = extent(c(xmn=-180,xmx=180,ymn=-90,ymx=90))
  stepsize = (r@extent@ymax - r@extent@ymin) / r@nrows
  yvals = seq(r@extent@ymax - stepsize / 2, r@extent@ymin, -stepsize)
  The x-values will be the mean of each row in the raster:
  xvals = rowMeans(as.matrix(r))
  plot(xvals, yvals)
库(光栅)

r最简单的是:

rowSums(!is.na(x))
(感谢@khasha提供此代码)

注意
的用法相当于“不”。这意味着
!is.na(x)
正在计算语句“不等于”na的值”

或者:

要返回not NA,可以按如下方式更改代码:

sum(is.na(x)==FALSE)
apply(d,2,function(x) sum(is.na(x))==TRUE))
您可以使用
apply
修改代码,将代码应用于矩阵,如下所示:

sum(is.na(x)==FALSE)
apply(d,2,function(x) sum(is.na(x))==TRUE))
其中
d
是一个矩阵,如:

d=matrix(c(1,NA,NA,NA),ncol=2,nrow=2)

最简单的是

rowSums(!is.na(x))
(感谢@khasha提供此代码)

注意
的用法等同于“not”。这意味着
!is.na(x)
正在计算语句“不等于“na”的值”

或者:

要返回not NA,可以按如下方式更改代码:

sum(is.na(x)==FALSE)
apply(d,2,function(x) sum(is.na(x))==TRUE))
您可以使用
apply
修改代码,将代码应用于矩阵,如下所示:

sum(is.na(x)==FALSE)
apply(d,2,function(x) sum(is.na(x))==TRUE))
其中
d
是一个矩阵,如:

d=matrix(c(1,NA,NA,NA),ncol=2,nrow=2)

最简单的是

rowSums(!is.na(x))
(感谢@khasha提供此代码)

注意
的用法相当于“不”。这意味着
!is.na(x)
正在计算语句“不等于”na的值”

或者:

要返回not NA,可以按如下方式更改代码:

sum(is.na(x)==FALSE)
apply(d,2,function(x) sum(is.na(x))==TRUE))
您可以使用
apply
修改代码,将代码应用于矩阵,如下所示:

sum(is.na(x)==FALSE)
apply(d,2,function(x) sum(is.na(x))==TRUE))
其中
d
是一个矩阵,如:

d=matrix(c(1,NA,NA,NA),ncol=2,nrow=2)

最简单的是

rowSums(!is.na(x))
(感谢@khasha提供此代码)

注意
的用法等同于“not”。这意味着
!is.na(x)
正在计算语句“不等于“na”的值”

或者:

要返回not NA,可以按如下方式更改代码:

sum(is.na(x)==FALSE)
apply(d,2,function(x) sum(is.na(x))==TRUE))
您可以使用
apply
修改代码,将代码应用于矩阵,如下所示:

sum(is.na(x)==FALSE)
apply(d,2,function(x) sum(is.na(x))==TRUE))
其中
d
是一个矩阵,如:

d=matrix(c(1,NA,NA,NA),ncol=2,nrow=2)

感谢代码@Khashaa我更新了答案以突出显示您的评论:)感谢代码@Khashaa我更新了答案以突出显示您的评论:)感谢代码@Khashaa我更新了答案以突出显示您的评论:)感谢代码@Khashaa我更新了答案以突出显示您的评论:)