【发布时间】:2016-04-17 03:34:37
【问题描述】:
我有一个 df,其中包含我正在尝试为每个州添加 lat、long 值的状态,以便我可以在地图上为每个州绘制百分比值。当我使用合并时,如果我不使用,我会得到任何一个并清空 df
all=TRUE
或者我的数据本身的经纬度值缺失数据,这取决于我制作 x 或 y
加载我的 df 并添加列标题的代码
fileURL <- c("https://drive.google.com/open?id=0B-jAX5hT2D3hNnVtLVhROENKRGs")
suppressMessages(require(data.table))
ge.planted <- fread(fileURL, na.strings = "NA")
colnames(ge.planted) <- c("region", "type", "crop", "2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015")
获取州名的代码,每个州的中心都包含 lat、long 值
snames <- data.frame(region=tolower(state.name), long=state.center$x, lat=state.center$y)
当我使用以下方法合并两个 df 时:
snames <- merge(ge.planted, snames, by="region")
我明白了
[1] region long lat type crop 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
[17] 2011 2012 2013 2014 2015
或者如果我使用
snames <- merge( ge.planted, snames, by="region", all=TRUE)
我得到了我的价值观,但没有经纬度
region type crop 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013
1: Alabama Insect-resistant (Bt) only Cotton - - - - - 10 10 10 18 13 11 18 17 12
2: Alabama Herbicide-tolerant only Cotton - - - - - 28 25 25 15 18 7 4 11 4
3: Alabama Stacked gene varieties Cotton - - - - - 54 60 60 65 60 76 75 70 82
4: Alabama All GE varieties Cotton - - - - - 92 95 95 98 91 94 97 98 98
5: Arkansas Herbicide-tolerant only Soybean 43 60 68 84 92 92 92 92 94 94 96 95 94 97
6: Arkansas All GE varieties Soybean 43 60 68 84 92 92 92 92 94 94 96 95 94 97
2014 2015 long lat
1: 9 4 NA NA
2: 6 3 NA NA
3: 83 90 NA NA
4: 98 97 NA NA
5: 99 97 NA NA
6: 99 97 NA NA
最后是
snames <- merge(snames, ge.planted, by="region", all=TRUE)
我得到了经纬度,但没有价值观
region long lat type crop 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
1 alabama -87 33 <NA> <NA> <NA> <NA> <NA> <NA> <NA> NA NA NA NA NA NA NA NA NA NA NA
2 alaska -127 49 <NA> <NA> <NA> <NA> <NA> <NA> <NA> NA NA NA NA NA NA NA NA NA NA NA
3 arizona -112 34 <NA> <NA> <NA> <NA> <NA> <NA> <NA> NA NA NA NA NA NA NA NA NA NA NA
4 arkansas -92 35 <NA> <NA> <NA> <NA> <NA> <NA> <NA> NA NA NA NA NA NA NA NA NA NA NA
5 california -120 37 <NA> <NA> <NA> <NA> <NA> <NA> <NA> NA NA NA NA NA NA NA NA NA NA NA
6 colorado -106 39 <NA> <NA> <NA> <NA> <NA> <NA> <NA> NA NA NA NA NA NA NA NA NA NA NA
据我所知,不是基于“区域”合并文件,而是将“y”值附加到数据帧的末尾。
【问题讨论】:
-
我已经整理了 df 收集的年份和种植百分比
-
您的帖子无法重现。您可以使用 dput() 在您的帖子中包含您的数据集(或一个子集,足以重现您的问题)。
-
Error in fread(url, na.strings = "NA") : Not positioned correctly after testing format of header row. ch='h'。 (将fileURL替换为url之后)。packageVersion("data.table")是‘1.9.6’ -
修复了 fileURL 名称被截断的问题
-
你的最后两行代码完全相同,但输出不同。