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 &lt;- 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 的列名不是regionvalue,因为它们是预期的。

这里的问题是文件中的列标题被读取为好像它们是数据的一部分。但这种行为很容易改变:

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(示

os模块

response.addHeader("Content-disposition","attachment;filename=" + filename + &qu