gpt4 book ai didi

R:使用公式绘制矩阵列

转载 作者:行者123 更新时间:2023-12-04 09:26:35 25 4
gpt4 key购买 nike

刚刚花了一个小时在我的代码中追查“矩阵与数据框架”错误,我非常想了解以下内容:

tmp <-
structure(c(4L, 7L, 5L, 12L, 6L, 11L, 9L, 3L, 1L, 2L, 10L, 8L),
.Dim = c(6L, 2L), .Dimnames = list(NULL, c("col1", "col2")))

## 1. This works:
plot(col2 ~ col1, data = tmp)

## 2. This doesn't work:
plot(col2 ~ col1, data = tmp, main = "hello")
## -> Error in FUN(X[[1L]], ...) : numeric 'envir' arg not of length one

## 3. This works:
plot(col2 ~ col1, data = as.data.frame(tmp), main = "hello")

在我看来,要么 1 和 2 都应该有效,要么都失败。 1 有效而 2 失败这一事实使我在尝试让我的代码正常工作时误入歧途。

我的问题是:为什么您有时可以使用公式来绘制矩阵列,而不是总是从不?当我为绘图添加标题导致它失败时会发生什么?

编辑:我怀疑我一定是自己弄坏了什么,所以我已经在多个新的 R 实例中尝试过这个确切的代码。我的 session 信息是:

> sessionInfo()
R version 2.12.1 (2010-12-16)
Platform: i686-pc-linux-gnu (32-bit)

locale:
[1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_CA.UTF-8 LC_COLLATE=en_CA.UTF-8
[5] LC_MONETARY=C LC_MESSAGES=en_CA.UTF-8
[7] LC_PAPER=en_CA.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats graphics grDevices utils datasets methods base
>

编辑:

这是失败的 plot 命令后的 traceback():

> > traceback()
4: FUN(X[[1L]], ...)
3: lapply(dots, eval, data, parent.frame())
2: plot.formula(col2 ~ col1, data = tmp, main = "hello")
1: plot(col2 ~ col1, data = tmp, main = "hello")
>

编辑:

升级到 2.14 已解决问题。

最佳答案

根据问题后的评论线程,很明显这 R-2.12.1 中的问题,不是 适用于 R-2.14.0

NEWS 文件的 R-2.13.0 部分在提及时可能指的是此错误修复

* plot(<formula>, data=<matrix>,..) now works in more cases;
similarly for points(), lines() and text().

(注意:这个答案是基于对 Tyler 的挖掘和上面的许多海报。我正在提升该线程的结论以回答状态,作为对错误类型的可能有用的提醒- 包含在 R 的每个版本中的修复。)

关于R:使用公式绘制矩阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8303751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com