导入的数据帧是否可以转换为函数?

时间:2016-11-30 14:26:28

标签: r csv dataframe

我有一个简单的问题,但到目前为止我找不到一个通用的解决方案:
假设我有一个从.csv文件获得的数据帧>df

    > df <- read.csv("foo.csv")    
    > df
      a b 
    1 1 D 
    2 2 E 
    3 3 F 

我想将此数据帧保存在.R文件中,以便稍后再次获取,但不读取.csv文件。它应该在源文件中,因此可以与其他用户共享该文件。
是否有可能在书面功能中转换此数据帧,如
df<-data.frame(a=c(1,2,3),b=c("D","E","F"))

2 个答案:

答案 0 :(得分:0)

您可以使用函数执行此操作:

mydf <- function(){
  data.frame(a=c(1,2,3),b=c("D","E","F"))
}

mydf()
> mydf()
a b
1 1 D
2 2 E
3 3 F

这就是你要找的东西吗?

如评论中所述:

  • data.frame s更大(如果不是所有data.frame s,save + load是更好,更方便的替代< / LI>
  • dput(read.csv(...))的结果可以替换上例中的data.frame(a=c(1,2,3),b=c("D","E","F"))

答案 1 :(得分:0)

我们可以在会话结束时使用savesave.image作为.RData

save.image("yourfile.RData")

然后在必要时加载它,以便加载之前创建的所有对象

load("yourfile.RData")

如果我们只需要save个别对象,只需命名对象和文件

save(df, file = "yourfile.RData")
load("yourfile.RData")