小编jon*_*jon的帖子

将数据框重新排列到表格,与"融化"相反

我有这样庞大的数据帧:

SN = c(1:100, 1:100, 1:100, 1:100)  
class = c(rep("A1", 100), rep("B2", 100), rep("C3", 100), rep("D4", 100)) # total 6000 levels 
myvar = rnorm(400)
mydf = data.frame(SN, class, myvar) 
Run Code Online (Sandbox Code Playgroud)

我希望"unmelt"到一个表,每个级别为单列,myvar填充:

SN          A1            B2          C3         D4       .............and so on for all 6000 
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点,我知道这是一个简单的问题,但我无法弄明白.

r reshape dataframe

55
推荐指数
2
解决办法
4万
查看次数

维恩图比例和颜色阴影与半透明度

我有以下类型的计数数据.

A   450
B   1800
A and B both    230
Run Code Online (Sandbox Code Playgroud)

我想开发一个色彩丰富的(可能是交叉点的半透明度),如下面的维恩图.

在此输入图像描述

注意:此图是在PowerPoint中绘制的示例,并且不是按比例绘制的.

plot r venn-diagram

54
推荐指数
6
解决办法
8万
查看次数

ggplot 2 r上x轴的不同大小面

以下是一种情况:

group1 <- seq(1, 10, 2)
group2 <-  seq(1, 20, 3)
x = c(group1, group2)
mydf <- data.frame (X =x , Y = rnorm (length (x),5,1), 
 groups = c(rep(1, length (group1)), rep(2, length(group2))))

ggplot(mydf, aes(X, Y, group= groups)) + geom_point()+ facet_grid (.~ group)
Run Code Online (Sandbox Code Playgroud)

在下图中,不同的面由x限制缩放:

 ggplot(mydf, aes(X, Y, group= groups)) + geom_point()+ 
   facet_grid (.~ group, scales = "free_x")
Run Code Online (Sandbox Code Playgroud)

由于x的总宽度有意义,我想生成不同宽度的小平面,不仅规模不同.因此,预期的方面1的宽度应该是2的一半.

在此输入图像描述

r facet ggplot2

38
推荐指数
1
解决办法
1万
查看次数

比较if语句中的两个向量

我想把停止条件放在一个函数中.条件是如果第一和第二元素应按顺序和长度完美匹配.

A <- c("A", "B", "C", "D")
B <- A
C <- c("A", "C", "C", "E")

> A == B
[1] TRUE TRUE TRUE TRUE
Run Code Online (Sandbox Code Playgroud)

这是前进的好局面

> A == C

[1]  TRUE  FALSE TRUE FALSE
Run Code Online (Sandbox Code Playgroud)

由于有一个错误的条件停止并输出该条件不在第2和第4列.

if (A != B) {
           stop("error the A and B does not match at column 2 and 4"} else {
            cat ("I am fine") 
                }
Warning message:
In if (A != B) (stop("error 1")) :
  the condition has length > 1 and only the …
Run Code Online (Sandbox Code Playgroud)

loops r operators dataframe

36
推荐指数
3
解决办法
9万
查看次数

每个rep()等于一个向量

我有关于序列的快速问题each:

vect1 <- c(4, 5, 10, 3, 1)
Run Code Online (Sandbox Code Playgroud)

我希望用这个向量进行复制,使得第一个数字被复制4,第二个5,第三个10,第四个3和第五个等于1.

rep(1:5, each = vect1) 
 [1] 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5
Warning message:
In rep(1:5, each = vect1) : first element used of 'each' argument

rep(1:5, each = c(4, 5, 10, 3, 1)) 

    [1] 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5
    Warning …
Run Code Online (Sandbox Code Playgroud)

r sequence

29
推荐指数
1
解决办法
1万
查看次数

如何在r中的函数内将参数传递给函数

我正在编写涉及来自基本R的其他函数的函数以及许多参数.例如(实际功能更长):

myfunction <- function (dataframe, Colv = NA) { 
matrix <- as.matrix (dataframe) 
out <- heatmap(matrix, Colv = Colv)
return(out)
}

data(mtcars)

myfunction (mtcars, Colv = NA)
Run Code Online (Sandbox Code Playgroud)

热图有许多参数可以传递给:

heatmap(x, Rowv=NULL, Colv=if(symm)"Rowv" else NULL,
        distfun = dist, hclustfun = hclust,
        reorderfun = function(d,w) reorder(d,w),
        add.expr, symm = FALSE, revC = identical(Colv, "Rowv"),
        scale=c("row", "column", "none"), na.rm = TRUE,
        margins = c(5, 5), ColSideColors, RowSideColors,
        cexRow = 0.2 + 1/log10(nr), cexCol = 0.2 + 1/log10(nc),
        labRow = NULL, labCol = NULL, main …
Run Code Online (Sandbox Code Playgroud)

arguments r function

29
推荐指数
1
解决办法
2万
查看次数

网格线与轴上的刻度一致

我很尴尬地问这个简单的问题,但每当我创建一个情节时,我已经开始思考几天:

plot (x = 1:10, y = rnorm (10, 5, 2))
grid (10,10, lty = 6, col = "cornsilk2")
Run Code Online (Sandbox Code Playgroud)

我想将网格定位在轴标记的位置,即x轴为2,4,6,8,10,y轴为3,4,5,6,7,8.

在此输入图像描述

我想在绘图大小更改默认标签行为更改时自动执行该过程.见下图:

在此输入图像描述

r graph gridlines

26
推荐指数
3
解决办法
4万
查看次数

在r中关闭区分大小写

我遇到区分大小写的问题.我们可以把它关掉吗?

A1 <- c("a", "A", "a", "a", "A", "A", "a")
B1 <- c(rep("a", length(A1)))

A1 == B1
# [1]  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE
Run Code Online (Sandbox Code Playgroud)

应该是全部 TRUE

r case-sensitive

25
推荐指数
2
解决办法
2万
查看次数

如何在使用ggplot2绘制的直方图上绘制箭头?

这是数据集:

   set.seed(123)
    myd <- data.frame (class = rep(1:4, each = 100), yvar = rnorm(400, 50,30))
    require(ggplot2)
    m <- ggplot(myd, aes(x = yvar))
    p <- m + geom_histogram(colour = "grey40", fill = "grey40", binwidth = 10)  +
       facet_wrap(~class) + theme_bw( ) 
    p + opts(panel.margin=unit(0 ,"lines"))
Run Code Online (Sandbox Code Playgroud)

我想为每个主题类落入的条形图添加标签,并生成类似后期功率点处理图形的内容.在R中有没有办法做到这一点?......

编辑:我们可以想到不同的指针,如点或错误栏,如果箭头不是不可能的

在此输入图像描述

让我们说以下是要标记的主题:

class   name       yvar
2       subject4    104.0
3       subject3    8.5
3       subject1    80.0
4       subject2    40.0
4       subject1    115.0

classd <- data.frame (class = c(2,3,3,4,4), 
 name = c  ("subject4", "subject3", "subject1", "subject2", "subject1"), 
 yvar …
Run Code Online (Sandbox Code Playgroud)

r histogram ggplot2

25
推荐指数
2
解决办法
5020
查看次数

将保持第一列的数据帧转换为标题

我有一个很大的数据帧,但小例子是这样的:

mydf <- data.frame(A = c(letters[1:10]), M1 = c(11:20), M2 = c(31:40), M3 = c(41:50))
Run Code Online (Sandbox Code Playgroud)

我想转置数据帧并将列1(A)保持为列标题(字母[1:10])作为变量名称.以下是不成功代码的临时试验.

tmydf = data.frame(t(mydf))
names(tmydf) <- tmydf[1,]
Run Code Online (Sandbox Code Playgroud)

谢谢;

transpose r dataframe

23
推荐指数
4
解决办法
4万
查看次数