从plyr了解l_ply

问题描述 投票:1回答:1

从文档:

所有输出都被丢弃。这对于您纯粹为其副作用调用的函数很有用,例如显示绘图或保存输出。

我花了一些时间玩游戏并试图找到一个合适的用例,但还没有(还)。

看一下这些例子并没有帮助我更好地理解它。

样品用法:

l_ply(iris[1:5,1], function(x) print(summary(x)))

这会奏效。

但是,在什么情况下可能需要打印然后丢弃这些结果?

r plyr
1个回答
4
投票

考虑以下

X <- matrix (c (rnorm (50)), ncol = 5);

假设X的每个colmn表示你想要过度绘制的系列。您可以按照以下方式执行此操作:首先创建一个空图,然后使用lapply绘制与每列对应的系列。虽然lapply将返回我们不想要的plot调用返回的值。

plot (NULL, ylim = range (X), xlim = c (1, nrow (X)));
lapply (1:ncol (X), function (i) points (X[,i], type = "o", col = i));

相反,你可以使用

plot (NULL, ylim = range (X), xlim = c (1, nrow (X)));
l_ply (1:ncol (X), function (i) points (X[,i], type = "o", col = i));

这具有相同的效果,但不返回plot返回的值。这里,“副作用”是在设备上绘制的plot函数。

© www.soinside.com 2019 - 2024. All rights reserved.