- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道列表中的 NULL 值有时会 trip人起来。我很好奇为什么在特定情况下 lapply
和 rapply
好像对待NULL
值(value)观不同。
l <- list(a = 1, c = NULL, d = 3)
lapply(l,is.null)
$a
[1] FALSE
$c
[1] TRUE
$d
[1] FALSE
rapply
做同样的事情怎么样? ?
rapply(l, is.null, how = "replace")
$a
[1] FALSE
$c
list()
$d
[1] FALSE
rapply
中看到相同的行为。带有嵌套列表。
?rapply
中所宣传的那样,它是 lapply 的“递归版本”,为什么在这种情况下它们的行为如此不同?
最佳答案
我想你回答了你自己的问题:因为它是递归的。
你不经常看到这个,但是 NULL
实际上可以用来表示一个空序列,因为它是空的pairlist
(类似于 Scheme 中的 ()
终止列表的方式。在内部,R 非常类似于方案)。
所以,rapply
递归到空列表中,但不会在完成后将其转回成对列表;你会得到一个常规的空列表。
其实,rapply
和 lapply
不要真正以不同的方式对待 NULL:
> lapply(NULL, identity)
list()
SEXP allocList(int n)
{
int i;
SEXP result;
result = R_NilValue;
for (i = 0; i < n; i++)
result = CONS(R_NilValue, result);
return result;
}
关于r - 为什么 rapply 和 lapply 处理 NULL 的方式不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7170264/
要跟进两个 rapply 问题,here和 here从几年前开始,rapply 似乎只适用于简单的类(即向量、矩阵),而不适用于多方面的 data.frame 类。 在大多数情况下以及下面的演示中,r
我可以使用rapply深入了解列表(其结构未知;可能嵌套也可能不嵌套)以提取一些信息吗?例如,我有一个模型对象列表,其中一个元素也是模型对象列表。我可以同时运行一个函数吗? df getcoef
我有一个嵌套列表,其基本元素是数据帧,我想递归地遍历这个列表来对每个数据帧进行一些计算,最后得到一个与输入结构相同的嵌套结果列表。我知道“rapply”正是针对此类任务,但我遇到了一个问题,rappl
似乎无法将 Not a Number NaN 错误替换为 0。尝试使用 rapply 但对我不起作用。 window.onload = function () { var first = do
我知道列表中的 NULL 值有时会 trip人起来。我很好奇为什么在特定情况下 lapply和 rapply好像对待NULL值(value)观不同。 l lapply(NULL, identity)
我是一名优秀的程序员,十分优秀!