如何将特定数据提取到R中的值

问题描述 投票:0回答:2

图书馆:

library(ggplot2)
library(BlandAltmanLeh)

我正在尝试使用Bland Altman Plot。这是代码:

pl<-bland.altman.plot(A,B, graph.sys = "ggplot2")

如果我为A和B使用数值,它可以工作。但如果我填写如下内容:

pl<-bland.altman.plot(dataset[,c(2)],dataset[,c(3)], graph.sys = "ggplot2")

它给了我错误:

Error in bland.altman.stats: group1 is not numeric.

有没有办法使用特定列而不定义列名称我的解决方法是:

A<-dataset$ABI_0L

但是,我不想使用列名而是使用数字!有没有办法在不先定义A和B的情况下使用该功能?

r plot statistics figure
2个回答
0
投票

也许我弄清楚了,也许不是最干净的方式,所以如果有人有更好的方法,请告诉我:)

pl<-bland.altman.plot(apply(datatest[,c(2)],2,as.numeric),apply(datatest[,c(3)],2,as.numeric), graph.sys = "ggplot2")

0
投票

欢迎来到stackoverflow!

提前做一些事情:请提供可重复的数据并说明您正在使用的包裹。此外,在标题中更精确,因为在很多情况下,人们想知道如何在R中提取某些数据。

无论如何,使用您提供的代码对我来说很好:

library("BlandAltmanLeh")
set.seed(1)
dataset <- data.frame(matrix(rnorm(100*3), ncol= 3))
bland.altman.plot(dataset[,c(2)],dataset[,c(3)], graph.sys = "ggplot2")

给我以下情节:Bland Altman Plot

编辑:

您不需要使用“c(2)”,因为它与单独的“2”相同。您的数据似乎不是数字。您可以使用

# make it numerics
dataset[, 2:3] <- apply(dataset[, 2:3],2,as.numeric)
# make a plot
bland.altman.plot(dataset[, 2],dataset[, 3], graph.sys = "ggplot2")

虽然你应该小心,因为它取决于第2列和第3列的类型。如果列是因素你应该看看qazxsw poi。

© www.soinside.com 2019 - 2024. All rights reserved.