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

时间:2019-04-01 10:08:16

标签: r plot statistics figure

图书馆:

library(ggplot2)
library(BlandAltmanLeh)

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

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的方法?

2 个答案:

答案 0 :(得分:0)

欢迎来到stackoverflow!

事前准备:请提供可复制的数据并说明您使用的包装。此外,您的标题要更加准确,因为在很多情况下,人们会想知道如何在R中提取某些数据。

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

| id  | title |
| --- | ----- |
| 1   | ABC   |

请给我以下情节: Bland Altman Plot

编辑:

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

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")

尽管您要小心,因为它取决于第2列和第3列的类型。如果列是因素,则应查看here

答案 1 :(得分:-1)

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

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