我有这样庞大的数据帧:
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)
我怎么能做到这一点,我知道这是一个简单的问题,但我无法弄明白.
我有以下类型的计数数据.
A 450
B 1800
A and B both 230
Run Code Online (Sandbox Code Playgroud)
我想开发一个色彩丰富的(可能是交叉点的半透明度),如下面的维恩图.

注意:此图是在PowerPoint中绘制的示例,并且不是按比例绘制的.
以下是一种情况:
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的一半.

我想把停止条件放在一个函数中.条件是如果第一和第二元素应按顺序和长度完美匹配.
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) 我有关于序列的快速问题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的其他函数的函数以及许多参数.例如(实际功能更长):
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) 我很尴尬地问这个简单的问题,但每当我创建一个情节时,我已经开始思考几天:
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.

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

我遇到区分大小写的问题.我们可以把它关掉吗?
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
这是数据集:
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) 我有一个很大的数据帧,但小例子是这样的:
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)
谢谢;