计算结构中没有任何NaN的行

亚瑟·塔拉索夫(Arthur Tarasov)

我需要计算在结构数组中的所有字段中有多少个结构没有NaN。示例结构如下所示:

a(1).b = 11;
a(2).b = NaN;
a(3).b = 22;
a(4).b = 33;
a(1).c = 44;
a(2).c = 55;
a(3).c = 66;
a(4).c = NaN;

输出看起来像这样

Fields    b     c

1         44    11
2         55    NaN
3         66    22
4         NaN   33

没有NaN的结构是1和3,因此这里总共应该有2个。

我尝试使用size(a, 2),但它只告诉我数组中结构的总数。我需要它来计算N(样本中的观察数)。NaN不计为观察值,因为分析中将其省略。

计算结构数组中没有任何NaN的结构的最简单方法是什么?

Brainkz

我建议使用以下单行命令:

nnz(~any(cellfun(@isnan,struct2cell(a))))

struct2cell(a)将您的结构转换为3D单元格数组,cellfun(@isnan,___)将其应用于沿第一维工作isnan的单元格数组的每个元素,~any(__)并返回没有NaN的数组nnz(__)计算有多少行没有NaN的数组

2在这种情况下,结果只是一个数字

以下:

find(~any(cellfun(@isnan,struct2cell(a))))

会告诉您哪些行没有NaN

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当计算内部没有任何值时,NaN被播种。如何在SwiftUI中显示“ 0”或“-”

Doxygen,图形类层次结构中没有任何显示

计算文件中没有文本的行

结构程序停止,没有任何错误

匹配行中没有任何字符的模式

删除python中没有字典格式的任何行

编译时检查以确保结构中的任何地方都没有填充

如何在没有任何空格的情况下计算熊猫中的令牌

如何在Python Pandas DataFrame中的任何行具有NaN值后删除列

删除所有*不*在其列中包含任何 NaN 的行

如何在 Pandas DataFrame 的任何列中删除带有 NaN 的行

過濾沒有任何 NaN 的行並且日期在 Pandas 中是連續的

防止在datagrid中添加新行,如果没有在新行中添加任何值

分组列出多个没有 nan (或任何值)的列

我没有使用结构获得任何输出

删除具有任何/所有NaN值的行/列

计算数据框中具有1个或多个NaN的行

如何根据数据框中的所有 id 计算 NaN 行,但将通过检查特定列来考虑 nan?

重力计算得出NaN。没有明确的理由

我导入了版本4.1.1,但是“项目结构>依赖关系>应用程序”中没有任何模块依赖项

为什么我的日期计算没有显示任何内容?

计算没有循环的分组行

如何在矩阵中查找没有特定行的NaN元素的列的索引?

在原始数据框中没有明确的“ NaN”行的情况下插入数据框

Azure:目录中没有任何订阅

SpriteKit中没有任何显示

在游标中没有任何结果

LineChart 中没有显示任何内容

输出中没有任何内容