如何以 R 语法导出数据?

机器算法验证 r
2022-04-06 18:09:46

给定 R 中的数据框,有没有办法以R 语法导出它,以便执行此代码将重新创建数据框?我会发现这对于将结果与计算一起存储在 R 文件中很有用,而不依赖于外部文件。

1个回答

您可以使用dput()来获取structure()以后可以使用的。

> #Build the original data frame
> x <- seq(1, 10, 1)  
> y <- seq(10, 100, 10)  
> df <- data.frame(x=x, y=y)   
> df   
    x   y
1   1  10
2   2  20
3   3  30
4   4  40
5   5  50
6   6  60
7   7  70
8   8  80
9   9  90
10 10 100

> #Use the dput() statement to print out the structure of df
> dput(df)   
structure(list(x = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), y = c(10, 
20, 30, 40, 50, 60, 70, 80, 90, 100)), .Names = c("x", "y"), row.names = c(NA, 
-10L), class = "data.frame")

上面的structure语句是 的输出dput(df)如果您将其复制/粘贴到您的 R 文本文件中,您可以稍后使用它。就是这样。

> #Build a new dataframe from the structure() statement
> newdf <- structure(list(x = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), y = c(10, 
20, 30, 40, 50, 60, 70, 80, 90, 100)), .Names = c("x", "y"), row.names = c(NA, 
-10L), class = "data.frame")
> newdf
    x   y
1   1  10
2   2  20
3   3  30
4   4  40
5   5  50
6   6  60
7   7  70
8   8  80
9   9  90
10 10 100