【问题标题】:How to extract specific data to values in R如何将特定数据提取到 R 中的值
【发布时间】:2019-08-22 11:19:40
【问题描述】:

图书馆:

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


    【解决方案1】:

    欢迎使用 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")
    

    给我以下情节:

    编辑:

    您不需要使用“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 列的类型。如果列是因素,你应该看看here

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 1970-01-01
        • 2013-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-08
        相关资源
        最近更新 更多