访问 R 中对象的元素
Accessing elements of an object in R
我在 R 中有一个对象,当我对其应用 str 时,returns 具有以下结构:
str(x)
dist [1:1]
$ :List of 2
..$ mu : num 759
..$ sigma: num 11.2
..- attr(*, "class")= chr [1:2] "dist_normal" "dist_default"
@ vars: chr "Close"
我想访问 mu 和 sigma 的确切值,但我似乎找不到正确的方法...最后我使用了:
unlist(x)[1]
unlist(x)[2]
但是,访问原始列表结构的正确方法是什么?有人可以帮忙吗?
根据要求,dput(x)
的输出是:
dput(x)
structure(list(structure(list(mu = 758.880005, sigma = 11.1895832820955), class = c("dist_normal",
"dist_default"))), vars = "Close", class = c("distribution",
"vctrs_vctr", "list"))
有了这个你应该能够重现对象如下:
x <- structure(list(structure(list(mu = 758.880005, sigma = 11.1895832820955), class = c("dist_normal",
"dist_default"))), vars = "Close", class = c("distribution",
"vctrs_vctr", "list"))
仅供参考,我加载了时间序列包 fpp3
来处理这些对象。
提前致谢。
运算符$
和[[
分别按符号名或字符名提取嵌套值。如果列表是嵌套的,这些运算符必须按顺序多次使用:
x <- structure(list(structure(list(mu = 758.880005, sigma = 11.1895832820955), class = c("dist_normal", "dist_default"))), vars = "Close", class = c("distribution", "vctrs_vctr", "list"))
x[[1]]$mu
#> [1] 758.88
我在 R 中有一个对象,当我对其应用 str 时,returns 具有以下结构:
str(x)
dist [1:1]
$ :List of 2
..$ mu : num 759
..$ sigma: num 11.2
..- attr(*, "class")= chr [1:2] "dist_normal" "dist_default"
@ vars: chr "Close"
我想访问 mu 和 sigma 的确切值,但我似乎找不到正确的方法...最后我使用了:
unlist(x)[1]
unlist(x)[2]
但是,访问原始列表结构的正确方法是什么?有人可以帮忙吗?
根据要求,dput(x)
的输出是:
dput(x)
structure(list(structure(list(mu = 758.880005, sigma = 11.1895832820955), class = c("dist_normal",
"dist_default"))), vars = "Close", class = c("distribution",
"vctrs_vctr", "list"))
有了这个你应该能够重现对象如下:
x <- structure(list(structure(list(mu = 758.880005, sigma = 11.1895832820955), class = c("dist_normal",
"dist_default"))), vars = "Close", class = c("distribution",
"vctrs_vctr", "list"))
仅供参考,我加载了时间序列包 fpp3
来处理这些对象。
提前致谢。
运算符$
和[[
分别按符号名或字符名提取嵌套值。如果列表是嵌套的,这些运算符必须按顺序多次使用:
x <- structure(list(structure(list(mu = 758.880005, sigma = 11.1895832820955), class = c("dist_normal", "dist_default"))), vars = "Close", class = c("distribution", "vctrs_vctr", "list"))
x[[1]]$mu
#> [1] 758.88