![](/img/trans.png)
[英]How to open multiple .RDATA and save one of there names as data.frame
[英]How to directly work with a data.frame in physical RData?
我一定要吗
1)从物理RData加载data.frame到内存,
2)做出改变,
3)将其保存回物理RData,
4)将其从内存中删除以避免冲突?
反正我是否可以跳过加载/保存步骤并直接对物理RData进行永久性更改? 有没有办法使用data.frame,就像使用SQLite / MySQL数据库一样? 或者我应该只使用SQLite / MySQL(而不是data.frame)作为数据存储?
更多想法:我认为主要区别在于,使用SQLite / MySQL建立与数据库的连接,但是为了使用RData中的data.frame,您可以在内存中复制。 后一种方法可能会在复杂程序中产生冲突。 为了避免潜在的冲突,您必须保存data.frame并在每次更改时立即将其从内存中删除。
谢谢!
您可能需要考虑使用attach
而不是使用load
。 这可以将保存的数据对象附加到搜索路径,而无需将其中的所有对象加载到全局环境中。 然后可以使用数据框。
如果你想更改数据框,那么你需要将它复制到全局环境(大多数编辑会自动发生),然后你需要再次保存它(没有一种简单的方法可以将它保存到。包含其他对象的Rdata文件)。
完成后,您可以使用detach
(但如果您在全局环境中制作了副本,则仍需要删除该副本)。
如果你不喜欢每次都输入load
/ save
命令(或attach
/ detach
),那么你可以编写自己的函数来完成所有的步骤(如果副本只在函数的环境中,那么你不必担心删除它)。
您可能还想考虑存储数据的不同方法。 典型的.Rdata
文件适用于全有或全无的方法。 saveRDS
和readRDS
函数将保存并读取单个对象(并且在读取时不要强制使用相同的名称)。 如果您经常更改表并希望它们存储在R之外,那么与数据库方法的接口可能是最好的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.