gpt4 book ai didi

r - LastAssigned(在 R 中,箭头的最后一个右边(<-)并返回它)

转载 作者:行者123 更新时间:2023-12-04 11:56:16 25 4
gpt4 key购买 nike

我尝试创建一个返回我上次创建的数据框的 R 函数。我使用 R 工作室。这个问题的想法和当前解决方案源于my previous question

lastAssigned <- function(match = "<- *data.frame",
remove = " *<-.*") {
f <- tempfile()
savehistory(f)
history <- readLines(f)
unlink(f)
match <- grep(match, history, value = TRUE)
sub(remove, "", match[length(match)])
}

然而,当前函数返回名称。我现在需要一个返回 data.frame 的函数。

如果有人能给我指出正确的方向,我会很高兴。

预期用途:

df_head <- data.frame("age" = c(19, 21), 
sex = c("m", "f"))
lastAssigned()
library(data.table)
setDT(lastAssigned())
#gives error (obviously)

alittlefunction <-function(x){
sexy <- rev(c('m', 'f'))
x <- within(x, sex <- factor(sex, levels=sexy))
}

alittlefunction(lastAssigned())
#gives error (obviously)

我怎样才能以适用于此用途的方式重建 lastAssigned?

最佳答案

不确定您要找什么。像这样:

getLastAssigned <- function(match = "<- *data.frame",
remove = " *<-.*") {
f <- tempfile()
savehistory(f)
history <- readLines(f)
unlink(f)
match <- grep(match, history, value = TRUE)
get(sub(remove, "", match[length(match)]), envir = .GlobalEnv)


}


df_head <- data.frame("age" = c(19, 21),
sex = c("m", "f"))

> getLastAssigned()
age sex
1 19 m
2 21 f

关于r - LastAssigned(在 R 中,箭头的最后一个右边(<-)并返回它),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57168988/

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