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我更新了答案以突出显示您的评论:)