我有一个大文本文件,其中包含来自美国所有50个州的数据。我想使用R或Rstudio将数据剔除到纽约州,因为我想对其进行地理编码。我可以使用Rstudio轻松对框架中的数据进行排序,但无法从那里将其放入单独的文本文件中。我是R新手,很明显缺少基本知识。
该文件比Excel可以处理的大得多。 Filemaker 17无法容纳文件“ ^”中使用的定界符。 Sublime文本中的选择非常笨拙,弄乱了我的定界符。
试图使用write.csv-write.csv(变量,文件名,row.names = F)-它使我感到困惑,因为它似乎无法确定如何将变量从文件中拉出,并且提供了各种错误。甚至不确定这是否是最好的举动。
期望从纯文本文件(.txt)中简单地提取约200,000条针对纽约州的记录,以便对数据进行地理编码。做不到。
答案 0 :(得分:0)
假设您在R中拥有完整的数据集(称为states
)作为数据框,则可以创建其单独的子集,也可以从其中删除除NY
之外的所有状态
子集:
ny <- states[states$state == "NY", ]
您可以在此处创建一个新的数据框(ny
)。
删除除纽约州以外的所有州:
states <- states[states$state == "NY", ]
此处的区别在于,您只需用修改后的框架覆盖原始数据框架即可。
如果您不需要纽约以外的州,那么从内存方面来说,如果您打算以某种方式操纵它,则最好覆盖原始数据帧。
例如,更改值和/或数据帧的结构将占用更多的内存,因为共享相同数据(即未修改的子集)的数据帧仅指向同一数据副本,因为它存在于一个内存中扇区,原始数据帧和子集数据帧都指向它(原始对象指向整个数据集,子集仅指向它的一部分,从而节省了内存(假设它是未修改的))。 / p>
仅当您修改所述子集时,才会制作单独的副本,从而占用更多空间。
但是,如果您怀疑将来需要修改其他状态数据,建议您创建一个子集并从中使用它作为源。