两行代码会产生完全不同的结果
map(1:3,~.x+10)
结果:
[[1]]
[1] 11
[[2]]
[1] 12
[[3]]
[1] 13
map(1:3,~x+10)
结果:
[[1]]
[,1] [,2]
[1,] 11 13
[2,] 12 14
[[2]]
[,1] [,2]
[1,] 11 13
[2,] 12 14
[[3]]
[,1] [,2]
[1,] 11 13
[2,] 12 14
有人可以解释点在~.x+10
公式中的作用吗?
此外,任何人都可以解释map(1:3,~x+10)
的结果,因为x
前面没有点。
答案 0 :(得分:1)
.x
引用了要在map()
的第一个参数(1:3
)的第一个参数中加上10的数字,从而返回预期的输出。对于~x + 10
,您引用的是环境中的对象x
(矩阵)。