r - 如何一次读取/导入 CSV 并创建代码,这样您就不必再次读取/导入
问题描述
我有一个想与人们分享的 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
解决方案
听起来像是您需要做的事情来创建一个可重现的示例。遵循 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")
推荐阅读
- python - 如何跳过python列表中的错误链接
- java - 将数据与 OneToMany 关系合并
- python - Django对子查询进行注释
- reactjs - 反应框架和支持框架有什么区别
- svn - 如何使用 Groovy 仅打印 SVN 中更改的目录?
- vue.js - 过渡组的孩子必须有钥匙……但他们有钥匙
- html - href 网页调用自身时的奇怪行为
- dialogflow-es - Dialogflow 在收到 Telegram bot 的请求后如何选择语言?
- python - Seaborn 根据列更改点大小(如色调)
- ios - How to repeat local notification every 5 sec in background