【发布时间】:2020-11-13 07:05:40
【问题描述】:
我有坐标数据,没有缺失值。我想将它们定义为使用 sp 的坐标,但是对于数据的一个子集。当我使用
subset_of_data <- data[data$variable == x, ]
coordinates_from_data = subset(subset_of_data, select=c("S_X", "S_Y"))
coordinates(coordinates_from_data) <- c("S_X", "S_Y")
我明白了:
Error in `coordinates<-`(`*tmp*`, value = c("S_X", "S_Y")) :
coordinates are not allowed to contain missing values
但是当我使用子集时,没有问题:
subset_of_data <- subset(data, data$variable == x)
coordinates_from_data = subset(subset_of_data, select=c("S_X", "S_Y"))
coordinates(coordinates_from_data) <- c("S_X", "S_Y")
我没有得到错误。
知道为什么会这样吗?
【问题讨论】:
-
什么是 tmp?您在数据准备中使用了任何正则表达式吗?
-
tmp 是 R 内部使用的。具体细节我不是很清楚,但是看stackoverflow.com/questions/28770882/documentation-for-tmp-in-r 和cran.r-project.org/doc/manuals/r-release/R-lang.html 可以看到坐标stackoverflow.com/a/32586069/762435 不,我没有在我的数据准备中使用正则表达式,但还有很多其他步骤。你有什么想法?
-
嗨!没有数据就不容易回答你的问题,但请不要
The real subset function (subset.data.frame()) removes missing values in the condition。你确定坐标中没有NA吗?也许在条件等于 NA 的行中 -
感谢您的评论!抱歉,我无法共享数据。是的,你是对的:根据其他 NA 列的条件,我在坐标列中“添加”空/NA 值!坐标列中没有 NA,但在其他条件列中有 NA,如所述,例如在 r-bloggers.com/subsetting-in-the-presence-of-nas 所以解决方案是 subset_of_data
-
嗨!我认为最好的解决方案是你用(也许)一个显示问题的数据的小例子(比如 2 行)来写答案。
标签: r subset missing-data sp