gpt4 book ai didi

r - 在 R 中,有没有办法将向量指定为 *literal*?

转载 作者:行者123 更新时间:2023-12-04 02:23:24 25 4
gpt4 key购买 nike

[刚开始学习R]

例如,我想创建一个值为 1 4 6 8 的向量。这些都不起作用:

x <- [1, 4, 6, 8]
x <- [1 4 6 8]

有没有一种方法可以使用文字符号创建向量,即不使用函数等?

最佳答案

回答你的第一个问题

Is there a way to create a vector using literal notation, i.e. without using a function etc?

您可以通过模仿您上面使用“文字表示法”的示例的方式创建矢量;但从技术上讲(几乎)R 中的所有内容都是函数调用,甚至是括号索引 [和对象分配 <- .例如,你可以做类似的事情

x <- NULL
x[1:4] <- 1:4
##
> x
[1] 1 2 3 4

但话又说回来[<-:是函数 - 通过键入 ?"[<-" 查看帮助文件或 ?"[" .这是否比您的选择“更尴尬”当然是主观的,但是一旦您习惯了 R 语言,您很可能不会再考虑它。就我个人而言,我更喜欢它而不是像 x[1, 2, 3, 4] 这样的东西您可能会在 Python、Julia 等中执行此操作...无论如何,您的第一个示例对 vector 无效因为在 R 语法中,您使用 (n-1) 个逗号来表示 (n) 个维度(在这种情况下)。例如,您可以创建一个像

这样的 3 维数组
Y <- array(1:27,dim=c(3,3,3))
> Y
, , 1

[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9

, , 2

[,1] [,2] [,3]
[1,] 10 13 16
[2,] 11 14 17
[3,] 12 15 18

, , 3

[,1] [,2] [,3]
[1,] 19 22 25
[2,] 20 23 26
[3,] 21 24 27

and access elements as

> Y[1,1,3]
[1] 19
> Y[1,1,1]
[1] 1
> Y[1,2,3]
[1] 22

但显然(一维)向量不是这种情况。关于速度的另一点,不可能准确地测试它,因为你提出的语法无效。

关于r - 在 R 中,有没有办法将向量指定为 *literal*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25703315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com