找回密码
 立即注册
查看: 12872|回复: 10

如何将数据导出为txt文本?

[复制链接]
发表于 2013-8-26 13:19:37 | 显示全部楼层 |阅读模式
前两天下载了个中国地图边界经纬度的R数据——CHN_adm1.RData(附件下载地址在文尾)
此类数据包需要加载“sp程序包”才可以读取。

数据名貌似是 gadm
直接输入此名的话,由于数据量太大,而不能完全显示。会有如下提示
[到达getOption("max.print") -- 略过395381行]]

用R编辑打开后显示<S4 object of class structure("SpatialPolygonsDataFrame", package = "sp")>

本人刚刚接触R,超级菜鸟级。想知道如何显示完整的数据结构以及如何导出此数据。


附件下载地址CHN_adm1.RData(3.7M)

回复

使用道具 举报

发表于 2013-8-26 15:17:23 | 显示全部楼层
mydata<-numeric()

for(i in 1:length(gadm@polygons)){
        mydata<-rbind(mydata,gadm@polygons[[i]]@Polygons[[1]]@coords)
       
        }

回复

使用道具 举报

发表于 2013-8-26 15:20:30 | 显示全部楼层
由于你的数据gadm是S4类

所有你需要先查看你数据中那部分是你需要的内容。然后用@将起取出。
我上面给你的是一个例子。就是将你数据中32个省市对应的坐标取出来。
剩下的保持 就用write.table即可
我用你的数据画了一个图。感觉里面少点东西。

你再看看
回复

使用道具 举报

发表于 2013-8-26 15:20:36 | 显示全部楼层
由于你的数据gadm是S4类

所有你需要先查看你数据中那部分是你需要的内容。然后用@将起取出。
我上面给你的是一个例子。就是将你数据中32个省市对应的坐标取出来。
剩下的保持 就用write.table即可
我用你的数据画了一个图。感觉里面少点东西。

你再看看
回复

使用道具 举报

发表于 2013-8-26 15:22:31 | 显示全部楼层
这是我用你数据 画出来的 图 ,感觉不完整。
你可以用plot( mydata) 查看具体图形
回复

使用道具 举报

 楼主| 发表于 2013-8-26 23:06:36 | 显示全部楼层
谢谢你啊。如果直接用 plot(gadm) 就可以画出完整的图来(无台湾)。
我还想知道,你是怎么知道用这个的呢——@polygons[[i]]@Polygons[[1]]@coords
回复

使用道具 举报

 楼主| 发表于 2013-8-26 23:30:02 | 显示全部楼层
本帖最后由 凡星有梦 于 2013-8-26 23:42 编辑
editor 发表于 2013-8-26 15:22
这是我用你数据 画出来的 图 ,感觉不完整。
你可以用plot( mydata) 查看具体图形

试了一下你写的这个命令,貌似有些省份的数据没有写进去。不知道是为什么。
另外,我还想知道如何看这个数据的详细结构呢,比如有哪些变量之类的。
还有,这个S4是什么类型啊。
  1. mydata<-numeric()

  2. for(i in 1:length(gadm@polygons)){
  3.         mydata<-rbind(mydata,gadm@polygons[[i]]@Polygons[[1]]@coords)
  4.         }
复制代码
而直接使用数据gadm就可以把图出整个地图来。可见,数据还是没什么太大问题的。
  1. plot(gadm)
复制代码
如果像下面这样导出数据,会得到这样的文件:
"PID" "ID_0" "ISO" "NAME_0" "ID_1" "NAME_1" "NL_NAME_1" "VARNAME_1" "TYPE_1" "ENGTYPE_1"
"1" 885 48 "CHN" "China" 1 "Anhui" "安徽|安徽" "ānhuī" "Shěng" "Province"
"2" 886 48 "CHN" "China" 2 "Beijing" "北京|北京" "Běijīng" "Zhíxiáshì" "Municipality"
  1. write.table(gadm,file="d:/da.txt")
复制代码
如果像下面这样导出的数据也是缺少了部分省市:
  1. write.table(mydata,file="d:/dada.txt")
复制代码
回复

使用道具 举报

发表于 2013-8-27 15:52:46 | 显示全部楼层
你可以用class(gadm)查看文件类别。
或者
attributes(gadm) 查看文件中内容。
如果你想导出不同结果的数据 最好研究一下。
https://science.nature.nps.gov/i ... damentals/index.cfm

其他方面都需要自己看看。
回复

使用道具 举报

发表于 2013-8-27 15:53:10 | 显示全部楼层
你可以用class(gadm)查看文件类别。
或者
attributes(gadm) 查看文件中内容。
如果你想导出不同结果的数据 最好研究一下。
https://science.nature.nps.gov/i ... damentals/index.cfm

其他方面都需要自己看看。
回复

使用道具 举报

发表于 2013-8-28 08:08:20 | 显示全部楼层
R语言的空间分析功能还是蛮强的吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-25 11:04 , Processed in 0.034995 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表