Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用依赖于R中列名的条形图为条形图着色_R_Function_Dataframe_Bar Chart - Fatal编程技术网

如何使用依赖于R中列名的条形图为条形图着色

如何使用依赖于R中列名的条形图为条形图着色,r,function,dataframe,bar-chart,R,Function,Dataframe,Bar Chart,我有两个数据帧和一个函数maxthree,它接受一个数据帧和行名称作为参数,并绘制行上的三个最高值(按降序)和三个最高值的列的名称 set.seed(0) df <- data.frame(A=c(3,2,1,4,5),B=c(1,6,3,8,4),C=c(2,1,4,8,9), D=c(4,1,2,4,6)) row.names(df)<-c("R1","R2","R3","R4","R5") df2 <- data.frame(E=c(2

我有两个数据帧和一个函数maxthree,它接受一个数据帧和行名称作为参数,并绘制行上的三个最高值(按降序)和三个最高值的列的名称


    set.seed(0)
    df <- data.frame(A=c(3,2,1,4,5),B=c(1,6,3,8,4),C=c(2,1,4,8,9), D=c(4,1,2,4,6))
    row.names(df)<-c("R1","R2","R3","R4","R5")

    df2 <- data.frame(E=c(2,5,6,1,4),F=c(2,4,2,5,1),G=c(5,6,2,7,3),H=c(8,2,7,4,1))
    row.names(df2)<-c("R6","R7","R8","R9","R10")

    print(df)

       A B C D
    R1 3 1 2 4
    R2 2 6 1 1
    R3 1 3 4 2
    R4 4 8 8 4
    R5 5 4 9 6

    print(df2)

        E F G H
    R6  2 2 5 8
    R7  5 4 6 2
    R8  6 2 2 7
    R9  1 5 7 4
    R10 4 1 3 1

    maxthree <- function(data, row) {
      order<-as.matrix(data[row, order(unlist(data[row, ]), decreasing = TRUE)[1:3]])
      barplot(order)
    }


    maxthree(df2, "R7")


种子集(0)

df以下是一种使用命名向量为不同行定义颜色的方法:

col.colors <- c(E="green", F="red", G="yellow", H="blue")

maxthree <- function(data, row) {
      order<-as.matrix(data[row, order(unlist(data[row, ]), decreasing = TRUE)[1:3]])
      order.names <- colnames(order)
      order.colors <- col.colors[order.names]
      barplot(as.vector(order), names.arg = order.names, col = order.colors)
}
maxthree(df2, "R7")
col.colors