我有一个R脚本想与人共享,但是当前它依赖于将许多单独的csv文件读取到数据帧中才能运行。我想知道是否有任何快速简便的方法来读取csv文件,然后创建代码行来创建数据框,而无需将来读取外部文件(我有几十个csv文件,每个文件有数百条记录,但我只想共享.R文件)。
例如,我目前有:
> species <- read.csv("species.csv")
> species
SpeciesID ScientificName Mortality
1 11 Acer_platanoides 2.27
2 57 Gleditsia_triacanthos 1.33
3 132 Tilia_cordata 1.33
4 1 Abies_balsamea 3.33
读取一次csv数据库后,我想创建代码,这样我就不必再次读取csv(这样我就可以向人们发送一个R脚本,而不向别人发送带有数十个其他文件的R脚本)。
因此,上述内容可以以某种方式导致以下情况,而不必手动将其全部写出?谢谢。
> species <- data.frame("SpeciesID" = c(11, 57, 132, 1),
+ "ScientificName" = c("Acer_platanoides", "Gleditsia_triacanthos", "Tilia_cordata", "Abies_balsamea"),
+ "Mortality" = c(2.27, 1.33, 1.33, 3.34))
> species
SpeciesID ScientificName Mortality
1 11 Acer_platanoides 2.27
2 57 Gleditsia_triacanthos 1.33
3 132 Tilia_cordata 1.33
4 1 Abies_balsamea 3.34
答案 0 :(得分:1)
听起来像您需要对create a reproducible example做的事情。遵循Joris Meys的解决方案dput()
可以轻松完成。
链接解决方案中的示例:
> dput(head(iris,4))
structure(list(Sepal.Length = c(5.1, 4.9, 4.7, 4.6), Sepal.Width = c(3.5,
3, 3.2, 3.1), Petal.Length = c(1.4, 1.4, 1.3, 1.5), Petal.Width = c(0.2,
0.2, 0.2, 0.2), Species = structure(c(1L, 1L, 1L, 1L), .Label = c("setosa",
"versicolor", "virginica"), class = "factor")), .Names = c("Sepal.Length",
"Sepal.Width", "Petal.Length", "Petal.Width", "Species"), row.names = c(NA,
4L), class = "data.frame")