【发布时间】:2019-10-22 22:59:43
【问题描述】:
假设我有一个名为:LS1 的列表,在列表中我有 20 个 100 乘 5 的矩阵。现在有些列可能只有一个重复的值,比如一列全是 100。我想让这些全是 100 到全零.我可以编写一个 for 循环来做到这一点,但我想用 lapply 和 apply 更有效地做到这一点。例如,这个矩阵的一个例子是
1 2 3 4 5
1 3 4 5 6
1 5 6 8 9
我希望将全为 1 的第一列更改为全零。
这就是我所做的:
A= lapply(LS1, function(x) {apply(x,2,function(x1) {if(max(x1)== min(x1))
{0}}}
但这会使所有值都为 NULL。任何人都可以建议使用 lapply 和 apply 来执行此操作吗?
【问题讨论】:
标签: r list for-loop apply lapply