R seq函数参数太多?
R seq function too many arguments?
我收到一个我根本不明白的错误。我只是在乱搞生成一些序列,我遇到了这个问题:
这应该创建一个包含 50 个数字的序列。
seq.int(from=1,to=1000,by=5,length.out=50)
但是如果我在控制台中输入这个,我会收到错误消息:
Error in seq.int(from = 1, to = 1000, by = 5, length.out = 50) :
too many arguments
如果我查看帮助 (?seq
),在“用法”部分中有这一行,看起来好像我正确地调用了该函数,并且它允许这么多参数:
seq.int(from, to, by, length.out, along.with, ...)
那到底是怎么回事?我是不是遗漏了一些基本的东西,还是文档已经过时了?
注意
我在代码示例中提供给函数的参数只是为了举例。我不是要解决特定问题,只是想知道为什么会出现错误。
不清楚您期望从这行代码输出什么,并且您收到错误是因为R
不想为您解决矛盾.
这是一些有效的输出,以及您用来实现每个输出的代码行。在这种情况下,您需要根据自己的任务自行决定使用哪种方法:
覆盖length.out
[1] 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86
...
[199] 991 996
#via:
seq.int(from=1,to=1000,by=5)
覆盖by
[1] 1.00000 21.38776 41.77551 62.16327 82.55102 102.93878 123.32653
[8] 143.71429 164.10204 184.48980 204.87755 225.26531 245.65306 266.04082
[15] 286.42857 306.81633 327.20408 347.59184 367.97959 388.36735 408.75510
[22] 429.14286 449.53061 469.91837 490.30612 510.69388 531.08163 551.46939
[29] 571.85714 592.24490 612.63265 633.02041 653.40816 673.79592 694.18367
[36] 714.57143 734.95918 755.34694 775.73469 796.12245 816.51020 836.89796
[43] 857.28571 877.67347 898.06122 918.44898 938.83673 959.22449 979.61224
[50] 1000.00000
#via:
seq.int(from=1,to=1000,length.out=50)
覆盖to
[1] 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101
[22] 106 111 116 121 126 131 136 141 146 151 156 161 166 171 176 181 186 191 196 201 206
[43] 211 216 221 226 231 236 241 246
#via:
seq.int(from=1,by=5,length.out=50)
覆盖from
[1] 755 760 765 770 775 780 785 790 795 800 805 810 815 820 825 830 835 840
[19] 845 850 855 860 865 870 875 880 885 890 895 900 905 910 915 920 925 930
[37] 935 940 945 950 955 960 965 970 975 980 985 990 995 1000
#via:
seq.int(to=1000,by=5,length.out=50)
A priori, R
无法判断您喜欢以上哪一个,也不应该。作为程序员,您需要决定哪些输入优先。
你说得对,这应该记录在案;现在,看看最初由@nongkrong 链接的source of .Primitive("seq.int")
。
不,我没有遗漏任何 R 语言的基础知识,这是问题的根源。问题是这些文件,至少在撰写本文时,具有误导性 and/or 不正确。
我收到一个我根本不明白的错误。我只是在乱搞生成一些序列,我遇到了这个问题:
这应该创建一个包含 50 个数字的序列。
seq.int(from=1,to=1000,by=5,length.out=50)
但是如果我在控制台中输入这个,我会收到错误消息:
Error in seq.int(from = 1, to = 1000, by = 5, length.out = 50) :
too many arguments
如果我查看帮助 (?seq
),在“用法”部分中有这一行,看起来好像我正确地调用了该函数,并且它允许这么多参数:
seq.int(from, to, by, length.out, along.with, ...)
那到底是怎么回事?我是不是遗漏了一些基本的东西,还是文档已经过时了?
注意 我在代码示例中提供给函数的参数只是为了举例。我不是要解决特定问题,只是想知道为什么会出现错误。
不清楚您期望从这行代码输出什么,并且您收到错误是因为R
不想为您解决矛盾.
这是一些有效的输出,以及您用来实现每个输出的代码行。在这种情况下,您需要根据自己的任务自行决定使用哪种方法:
覆盖length.out
[1] 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86
...
[199] 991 996
#via:
seq.int(from=1,to=1000,by=5)
覆盖by
[1] 1.00000 21.38776 41.77551 62.16327 82.55102 102.93878 123.32653
[8] 143.71429 164.10204 184.48980 204.87755 225.26531 245.65306 266.04082
[15] 286.42857 306.81633 327.20408 347.59184 367.97959 388.36735 408.75510
[22] 429.14286 449.53061 469.91837 490.30612 510.69388 531.08163 551.46939
[29] 571.85714 592.24490 612.63265 633.02041 653.40816 673.79592 694.18367
[36] 714.57143 734.95918 755.34694 775.73469 796.12245 816.51020 836.89796
[43] 857.28571 877.67347 898.06122 918.44898 938.83673 959.22449 979.61224
[50] 1000.00000
#via:
seq.int(from=1,to=1000,length.out=50)
覆盖to
[1] 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101
[22] 106 111 116 121 126 131 136 141 146 151 156 161 166 171 176 181 186 191 196 201 206
[43] 211 216 221 226 231 236 241 246
#via:
seq.int(from=1,by=5,length.out=50)
覆盖from
[1] 755 760 765 770 775 780 785 790 795 800 805 810 815 820 825 830 835 840
[19] 845 850 855 860 865 870 875 880 885 890 895 900 905 910 915 920 925 930
[37] 935 940 945 950 955 960 965 970 975 980 985 990 995 1000
#via:
seq.int(to=1000,by=5,length.out=50)
A priori, R
无法判断您喜欢以上哪一个,也不应该。作为程序员,您需要决定哪些输入优先。
你说得对,这应该记录在案;现在,看看最初由@nongkrong 链接的source of .Primitive("seq.int")
。
不,我没有遗漏任何 R 语言的基础知识,这是问题的根源。问题是这些文件,至少在撰写本文时,具有误导性 and/or 不正确。