我想知道为什么lapply函数在使用这个术语时会给出错误:
C:\Users\login\Documents\Visual Studio 2017\Settings\CurrentSettings.vssettings
但是在运行时可以完美运行:
>lapply(x=3:9, seq)
Error in match.fun(FUN) : argument "FUN" is missing, with no default
两个对象( x 和 X )都不可用。
这里有某种内部功能吗?
阿萨
>lapply(X=3:9, seq)
[[1]]
[1] 1 2 3
[[2]]
[1] 1 2 3 4
[[3]]
[1] 1 2 3 4 5
[[4]]
[1] 1 2 3 4 5 6
[[5]]
[1] 1 2 3 4 5 6 7
[[6]]
[1] 1 2 3 4 5 6 7 8
[[7]]
[1] 1 2 3 4 5 6 7 8 9
答案 0 :(得分:3)
lapply
的签名是
function (X, FUN, ...)
因此它有两个命名参数:X
和FUN
。当您使用X=3:9
时,它会将第一个参数设置为3:9
。当您运行x=3:9
时,此参数将在...
部分中传递(因为R区分大小写),然后seq
现在是第一个参数。通常,在调用lapply
时不要将名称用作第一个参数。只需使用
lapply(3:9, seq)
答案 1 :(得分:0)
lapply
函数需要2个参数X
和FUN
。由于R区分大小写,因此无法使用x
代替X
。错误消息大约为FUN
,但真正的问题是您的x
。
我建议您在运行?lapply
时使用新功能时查看帮助页面。