c("region", "value") %in% colnames(user.df) 不都是 TRUE
Posted
技术标签:
【中文标题】c("region", "value") %in% colnames(user.df) 不都是 TRUE【英文标题】:c("region", "value") %in% colnames(user.df) are not all TRUE 【发布时间】:2016-12-29 09:15:06 【问题描述】:我在使用choroplethrZip 包创建美国邮政编码的等值线时收到“c("region", "value") %in% colnames(user.df) are not all TRUE" 错误。
我正在尝试使用上述软件包,根据该邮政编码中的标签值绘制美国地图的邮政编码。我正在尝试使用以下代码但不起作用
#install.packages("devtools")
library(devtools)
#install_github("choroplethr", "trulia")
library(choroplethr)
#install_github('arilamstein/choroplethrZip@v1.5.0')
library(choroplethrZip)
temp <- read.table("data.txt")
zip_choropleth(temp)
data.txt 看起来像
region value
00601 15
00602 42
00603 97
00604 3
. .
. .
【问题讨论】:
来自 GitHub 的choroplethr
的版本是 2.2.0,它太旧,无法与 choroplethrZip
一起使用。从 CRAN (3.5.2) 安装 choroplethr
后,我才设法安装 choroplethrZip
。如果我这样做,我可以摆脱错误消息,如果我用temp <- read.table("data.txt", header = TRUE)
读取数据。然而,还有其他错误,但它们可能与我的data.txt
的行数很少这一事实有关。
@Stibu 这行得通。谢谢。
【参考方案1】:
函数zip_choropleth
期望df
是
一个 data.frame 包含一个名为“region”的列和一个名为“value”的列。
但是,你读取数据的方式,df
没有这个属性:
temp <- read.table("data.txt")
temp
## V1 V2
## 1 region value
## 2 00601 15
## 3 00602 42
## 4 00603 97
## 5 00604 3
这就是错误消息告诉你的内容:
c(“region”, “value”) %in% colnames(user.df) 不都是 TRUE
这只是一种复杂的说法,即df
的列名不是region
和value
,因为它们是预期的。
这里的问题是文件中的列标题被读取为好像它们是数据的一部分。但这种行为很容易改变:
temp <- read.table("data.txt", header = TRUE)
temp
## region value
## 1 601 15
## 2 602 42
## 3 603 97
## 4 604 3
【讨论】:
以上是关于c("region", "value") %in% colnames(user.df) 不都是 TRUE的主要内容,如果未能解决你的问题,请参考以下文章
java基础面试题:如何把一段逗号分割的字符串转换成一个数组? String s = "a" +"b" + "c" + "d&qu
关于js中"window.location.href""location.href""parent.location.href"&qu
{"error":"incorrect region, please use up-z2.qiniup.com"} 七牛云存储失败
Fatal error in launcher: Unable to create process using '"d:downloadpython.exe" &qu(示
response.addHeader("Content-disposition","attachment;filename=" + filename + &qu