You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中直接打开含数据框代码的.R文件并转为数据表?

如何读取含dput结构代码的R文件并生成数据框?

问题背景

我先通过以下代码创建了dataA数据框:

Environment= c("ENV1","ENV2","ENV3","ENV4","ENV5")
CV1<- c(25.2,26.3,15.2,22.1,21.9)
CV2<- c(37.1,34.5,26.0,29.9,28.3)
CV3<- c(33.0,30.5,25.0,30.2,28.9)
CV4<- c(35.4,37.0,28.0,26.0,34.0)
CV5<- c(34.6,32.7,20.0,32.3,28.6)

dataA= data.frame(Environment,CV1,CV2,CV3,CV4,CV5)

接着使用dput(dataA)得到其结构代码:

structure(list(Environment = c("ENV1", "ENV2", "ENV3", "ENV4", 
                               "ENV5"), CV1 = c(25.2, 26.3, 15.2, 22.1, 21.9), 
               CV2 = c(37.1, 34.5, 26, 29.9, 28.3), 
               CV3 = c(33, 30.5, 25, 30.2, 28.9), 
               CV4 = c(35.4, 37, 28, 26, 34), 
               CV5 = c(34.6, 32.7, 20, 32.3, 28.6)), 
              class = "data.frame", row.names = c(NA, -5L))

将该结构代码保存为PC上的data_code.R文件,现在希望直接读取该文件并得到可直接使用的数据表,请问是否可以在R中直接导入这类含数据框代码的文件并得到数据表?


解决方案

当然可以,以下两种常用方法可实现需求:

方法1:使用source()函数

source()可执行R脚本中的代码,只需给文件内的结构代码添加变量赋值即可:

  1. 修改data_code.R文件,给结构代码加上变量赋值:
df <- structure(list(Environment = c("ENV1", "ENV2", "ENV3", "ENV4", 
                               "ENV5"), CV1 = c(25.2, 26.3, 15.2, 22.1, 21.9), 
               CV2 = c(37.1, 34.5, 26, 29.9, 28.3), 
               CV3 = c(33, 30.5, 25, 30.2, 28.9), 
               CV4 = c(35.4, 37, 28, 26, 34), 
               CV5 = c(34.6, 32.7, 20, 32.3, 28.6)), 
              class = "data.frame", row.names = c(NA, -5L))
  1. 在R中执行读取命令:
source("C:/Users/Desktop/data_code.R")
print(df)

执行后即可直接调用数据框df。

方法2:使用eval(parse())组合

若不想修改原文件,可直接读取文件内容并解析执行:

df <- eval(parse(file = "C:/Users/Desktop/data_code.R"))
print(df)

该方法会直接解析文件中的结构代码,返回数据框对象,无需改动原文件。


内容的提问来源于stack exchange,提问作者J.K Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 23:28:16