小编use*_*937的帖子

强制“应用”返回矩阵?

假设我有一个数据矩阵,我想先将矩阵按行居中,然后按列计算均值。

a=matrix(runif(50),nrow=5)
a1=apply(a,1,function(x)x-mean(x))
a.sum=apply(a1,1,sum)
Run Code Online (Sandbox Code Playgroud)

a有多个列时,这很有效。但是,有时输入只有一列,这会引起麻烦:

a=matrix(runif(5))
a1=apply(a,1,function(x)x-mean(x))
a.sum=apply(a1,1,sum)
Error in apply(a1, 1, sum) : dim(X) must have a positive length
Run Code Online (Sandbox Code Playgroud)

这是因为第一个apply返回了一个向量,而不是一个矩阵。R 自动删除了维度。那么有没有聪明的方法来防止这种情况发生?我知道我可以用不同的编码if来检测a和处理它的维度。但这似乎有点尴尬。

r

6
推荐指数
1
解决办法
2338
查看次数

列出两次过滤器对象将返回一个空白列表?

我在Python(3.3)中使用过滤器功能.我试图将过滤器对象转换为列表.这就是我发现的:

>>> a=['1', '2', '3', None]
>>> b=filter(None,a)
>>> list(b)
['1', '2', '3']
>>> list(b)
[]
Run Code Online (Sandbox Code Playgroud)

这对我来说很奇怪.有谁能解释一下?

python iterator python-3.x

5
推荐指数
1
解决办法
1173
查看次数

标签 统计

iterator ×1

python ×1

python-3.x ×1

r ×1