gpt4 book ai didi

R : environment to data. 帧

转载 作者:行者123 更新时间:2023-12-04 10:31:19 24 4
gpt4 key购买 nike

我在 R 中有一个环境对象,我想将它转换为 data.frame。我试过 as.data.frame 但它不接受环境对象..有人有想法吗?

e <- new.env(hash=TRUE,size=3)
assign(x="a",value=10,envir=e)
assign(x="b",value=100,envir=e)
assign(x="c",value=1000,envir=e)

谢谢

最佳答案

通过将环境对象转换为列表来执行中间步骤:

as.data.frame(as.list(e))
## c a b
## 1 1000 10 100

顺便说一句:实际上,每个数据帧都由一个列表(由相同长度的原子向量组成)表示,并带有 row.names属性集:
x <- data.frame(v1=1:2, v2=c("a", "b"))
unclass(x)
## $v1
## [1] 1 2
##
## $v2
## [1] a b
## Levels: a b
##
## attr(,"row.names")
## [1] 1 2
typeof(x)
## [1] "list"
mode(x)
## [1] "list"
is.list(x)
## [1] TRUE

反过来说:
x <- list(v1=1:2, v2=c("a", "b"))
attr(x, 'row.names') <- as.character(1:2)
class(x) <- 'data.frame'
print(x)
## v1 v2
## 1 1 a
## 2 2 b

关于R : environment to data. 帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23541137/

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