从R中的函数将单个数据帧存储在环境中

时间:2016-08-04 17:25:12

标签: r function frame

提前感谢您的帮助!

我在R中创建了一个返回数据框的函数,比如说DF_Name有4列,比如harderbetterfasterstronger,我只是想将这个单个数据帧存储在全局环境中。

这是函数的极简化版本:

daft_funct<-function()
{
  DF_Name <- read.csv("D:/SomeFolder/DF_Data.csv",stringsAsFactors=FALSE)
  return(DF_Name) # I want to fix this line here
}

这些是我未能成功将其存储在.GlobalEnv

  1. 没有任何知识:

    return(DF_Name) # Just shows on screen
    
  2. 尝试查看整个数据框,显示但不存储:

    View(DF_Name) # Shows on RStudio panel
    
  3. 在StackOverflow中寻找帮助,找到了this question。 但是,它会将数据框的每一列存储为分隔值

    list2env(DF_name,.GlobalEnv)
    # Check if worked
    >ls()
    "better"    "faster"    "harder"    "stronger"
    
  4. 再次寻求StackOverflow的帮助,找到this other question。哪个会再次存储DF_Name的每一列,但这次为已分隔的数据框

    list2env(lapply(DF_Name, as.data.frame),.GlobalEnv)
    # Check if worked
    >ls()
    "better"    "faster"    "harder"    "stronger"
    
  5. 尝试将第4次尝试的数据帧合并到函数内的单个数据帧中会再次导致主要问题。

    P.S。:我故意忽略了daft_funct输出中的ls()

0 个答案:

没有答案