如何根据R

时间:2018-07-03 13:39:36

标签: r

问题

我想找到一个列表的长度。

预期输出

我想根据条件找到长度。

示例

假设我有以下四个元素的列表:

myve <–list(1,2,3,0)

这里我有4个元素,其中之一是零。如何通过提取零值来找到长度?然后,如果长度为> 1,我想构造一个。那就是:

如果长度为4,那么我想拥有4-1=3。因此,输出应为3

注意

请注意,我正在处理一个零值可能从一种情况更改为另一种情况的问题。例如,对于第一个列表,我可能只有一个0值,而对于第二个列表,我可能只有2或3个零值。

值始终为正或零。

2 个答案:

答案 0 :(得分:2)

您只需要将条件应用于每个元素。这将产生一个布尔值列表,然后对其求和以获取True个元素的数量(即验证您的条件)。

在您的情况下:

sum(myve != 0)

在更复杂的情况下,通过函数f来表达配置:

sapply(myve, f)

答案 1 :(得分:0)

使用sapply提取与零不同的那些并​​求和计数

sum(sapply(myve, function(x) x!=0))