1

这样做的背景是,我主要是一名 Python 程序员,对 R 有一定的了解。我的任务是查看一个由 Perl 程序员编写的 R 脚本,他经常使用forwhile循环,看看我是否可以使它更像 R 并让它运行得更快。

例如,我有以下列表:

> lnums <- list(1:5, 6:7, 8:12)

对于长度小于 5的元素lnums[[2]](远不止于此。我一直在玩弄实现它的方法并想出了forNA

> sapply(lnums, FUN=function(x) length(x) < 5)

它得到了正确的元素,但我无法弄清楚如何将它合并到length(lnums[]) <- 5语句的下标中。我知道这可能是一个非常新手的问题,但如果我能得到任何帮助,我将不胜感激。

此外,我想增加较短列表元素的长度的原因是我可以将列表放入数据框中。如果有一种方法可以做到这一点而不会弄乱长度,那就太好了,尽管我仍然不介意回答我的第一个问题以满足我的好奇心,如果没有别的。

谢谢大家。我一直在这里挖掘一些主题,你已经帮了我很多忙!

4

1 回答 1

3

这是一种方法:

lapply(lnums, 'length<-', 5)
于 2013-05-23T20:31:38.367 回答