为什么
kappa <- c(0.0001,0.001,0.01,0.1,0.5,0.9,0.99)
sapply ( kappa, function (t) t)
和
sapply ( kappa, function (t) print(t))
返回不同的结果?
谢谢!
答案 0 :(得分:1)
您在示例中错过了逗号,但是您可以尝试以下操作:
kappa <- c(0.0001,0.001,0.01,0.1,0.5,0.9,0.99)
sapply (X=kappa, FUN = function (t)t)
sapply中发生的是“简化应用”,它将简化BASE R的使用-它会尝试找到最佳格式来简化结果,在这种情况下,该结果是该函数的kappa数
由于结果基于函数-function(t)t-这仅返回t的值-仅为
但是,当您运行打印语句时,函数(t)打印(t)-在应用的每个“步骤”中-它试图“简化”打印调用-这就是为什么您在获得此输出之后另一个:
sapply ( kappa, function (t) t)
也如上述用户所述:
它们是不同的,因为在第二种情况下,print(t)做两件事:在控制台上打印t并返回t作为结果。第一个仅返回结果,不打印。所以第二种情况是一样的,您只是看到每个项目在完成申请之前就被打印了