尝试在 R (xyplot) 中创建对数轴时出错“Math.factor(x,xbase) : 'log' 对因子没有意义

Error when trying to create log axes in R (xyplot) "Math.factor(x,xbase) : 'log' not meaningful for factors

TL;DR:我遇到了上述(和以下)错误。我该如何解决?

由于我相对 是 R 的新手,这让我很困惑。我正在尝试创建一个 xyplot ,其中两个轴都进行了对数转换。我已经走到这一步了:

library(lattice)
xyplot(`APC-H7-A`~`PE-Cy5-A`,lymphocytes, smooth=FALSE, 
       xlim=c(-100,10000), ylim=c(-100,10000),
       scales=list(x=list(log=10),y=list(log=10)))

而且我一直收到错误消息:

Error in Math.factor(x, xbase) : ‘log’ not meaningful for factors

我猜这个错误意味着我的代码中的某些内容没有被识别为数字?但我真的不知道从哪里开始寻找。

淋巴细胞是 flowFrame class 的对象,在 flowCore 包中:

描述。这class表示包含在FCS文件或类似数据结构中的数据。数据分为三部分:*

这是一个复杂的数据结构,访问原始数据并不简单。 flowFrame的手册页(见help(flowFrame))说我们可以索引这个对象,用exprs方法是获取原始数据的方式。此外,此 class 有其自己的绘图方法,我假设您有充分的理由选择 lattice。通过按照下面的方式加载示例数据,我可以 运行 您的绘图代码:

require(flowCore)
require(lattice)
data(GvHD)

xyplot(exprs(GvHD[[1]][, "FL4-H"]) ~ exprs(GvHD[[1]][, "FL2-H"]),
        smooth=FALSE,
        xlim=c(-100,10000),
        ylim=c(-100,10000),
        scales=list(x=list(log=10),
                    y=list(log=10)),
        xlab = "FL2-H",
        ylab = "FL4-H")

我不知道这个数据数组中的 FL2-HFL4-H 和索引 1 是什么,但我相信您会很快找到您的数据。