我正在努力开发图画图表.是否有可能在R中开发这样的图表?
myd <- data.frame (categories = c("Planes", "Ships", "Cars", "Trains"),
values = c(15, 18, 22, 11))
Run Code Online (Sandbox Code Playgroud)
组件图标在这里:
我知道树状图很受欢迎.但是,如果有大量的观察和课程,很难遵循.但是有时我觉得应该有更好的方式呈现相同的东西.我有一个想法,但不知道如何实现它.
考虑以下树形图.
> data(mtcars)
> plot(hclust(dist(mtcars)))
Run Code Online (Sandbox Code Playgroud)
可以将其绘制成散点图.其中两点之间的距离用线绘制,而sperate簇(假设阈值)是彩色的,圆的大小由一些变量的值确定.
我有以下人类家庭的类型数据:
indvidual <- c("John", "Kris", "Peter", "King", "Marry", "Renu", "Kim", "Ken", "Lu")
Parent1 <- c( NA, NA, "John", "John", "John", NA, "Peter", NA, NA)
Parent2 <- c( NA, NA, "Kris", "Kris", "Renu", NA, "Lu", NA, NA)
X <- c( 2, 3, 2, 3, 4, 5, 1.5, 1, 1)
Y <- c( 3, 3, 2, 2, 2, 3, 1, 3, 2)
pchsize <- c( 4.5, 4.3, 9.2, 6.2, 3.2, 6.4, 2.1, 1.9, 8)
fillcol <- c( 8.5, 8.3, 1.2, 3.2, 8.2, …
Run Code Online (Sandbox Code Playgroud) 我有以下问题:
set.seed(1234)
dis = seq(1, 800, 10)
yvar = rnorm(length (dis), 50, 10)
myd <- data.frame (xvar = dis, yvar = yvar, yvarL =
yvar - rnorm (length (yvar),5, 1), yvarU = yvar + rnorm (length (yvar), 5, 1))
plot(myd$xvar,myd$yvar,pch=19,cex=.75,col="blue")
points(myd$xvar,myd$yvarL,col="gray", pch=19,cex=.5)
points(myd$xvar,myd$yvarU,col="gray", pch=19,cex=.5)
Run Code Online (Sandbox Code Playgroud)
Y有三个值 - Y,上限和下限.我想在轴上的两个间隔之间进行遮蔽.其余的图表只是点.假设的产品图应该相似(不完全).
如何在两个间隔之间遮蔽并产生线图,例如在myd $ xvar中650到690和210到280之间.我尝试根据这篇文章(R中的xy曲线图中的阴影)进行一些polygot拟合,但没有成功.
polygon(c(myd$xvar[1:200], myd$xvar[200:1]), c(myd$xvar[1:200],
myd$yvar[200:1]), col="gray")
Run Code Online (Sandbox Code Playgroud) 我有以下情况:
vec1 <- c("A", "B", "D", "C", "E", "A", "C")
vec2 <- c("A", "B", "C", "D", "F")
Run Code Online (Sandbox Code Playgroud)
第一个问题:哪一个是重复的?- 对于 vec1 回答“A”和“C”,对于 vec2 回答 0
第二个问题:确定哪个是 vec1 但不在 vec2 中,无论顺序如何(答案“E”)
或反之亦然(回答“F”)
which(vec1 !=vec2)
which(vec2 !=vec1)
[1] 3 4 5 7
Warning message:
In vec1 != vec2 :
longer object length is not a multiple of shorter object length
Run Code Online (Sandbox Code Playgroud)
这不是我所期望的......
这是一个小数据集:
myd <- data.frame(PC1 = rnorm(5, 5, 2),
PC2 = rnorm (5, 5, 3), label = c("A", "B", "C", "D", "E"))
plot(myd$PC1, myd$PC2)
text( myd$PC1-0.1, myd$PC2, lab = myd$label)
Run Code Online (Sandbox Code Playgroud)
我希望连接直线(欧几里德)距离线之间的所有可能组合,以产生这样的图形(最好在基本图形或ggplot2中)
我有一个巨大的1000 x 100000数据帧,如下所示重新编码为数字值.
myd <- data.frame (v1 = sample (c("AA", "AB", "BB", NA), 10, replace = T),
v2 = sample (c("CC", "CG", "GG", NA), 10, replace = T),
v3 = sample (c("AA", "AT", "TT", NA) , 10, replace = T),
v4 = sample (c("AA", "AT", "TT", NA) , 10, replace = T),
v5 = sample (c("CC", "CA", "AA", NA) , 10, replace = T)
)
myd
v1 v2 v3 v4 v5
1 AB CC <NA> <NA> AA
2 AB CG …
Run Code Online (Sandbox Code Playgroud) 我试图用R绘制板布局热图.板布局只是8(行)×12(列)圆(井).行由字母和数字标记.每个井需要填充一些颜色强度取决于定性或定量变量.板块布局如下所示:
这是一个小数据集:
set.seed (123)
platelay <- data.frame (rown = rep (letters[1:8], 12), coln = rep (1:12, each = 8),
colorvar = rnorm (96, 0.3, 0.2))
rown coln colorvar
1 a 1 0.187904871
2 b 1 0.253964502
3 c 1 0.611741663
4 d 1 0.314101678
5 e 1 0.325857547
6 f 1 0.643012997
7 g 1 0.392183241
8 h 1 0.046987753
9 a 2 0.162629430
10 b 2 0.210867606
11 c 2 0.544816359
12 d 2 0.371962765
13 e 2 0.380154290 …
Run Code Online (Sandbox Code Playgroud) 这是数据:
myd <- data.frame (X1 = rep (c("A0001", "B0002", "C0003", "D0004"), each = 2),
X2 = rep (c(1, 5.3, 8.2, 12.5), each = 2), X3 = rep (c("A", "B"), 4),
Y = rnorm (8, 5, 2))
Run Code Online (Sandbox Code Playgroud)
这是我可以绘制的情节:
require(ggplot2)
ggplot(myd, aes(x = X2, y = Y, group = X3)) +
geom_point (aes(col = X3, pch = X3)) + geom_line (aes(col = X3))
Run Code Online (Sandbox Code Playgroud)
除了X2值之外,我想将X1文本转换为x轴上的相应位置.干草图:
我该怎么做 ?编辑:
注意:目的是在X轴上同时显示连续比例和文本:
这里只是一个小例子(不完全是,但类似的问题)我试图做:
test1 <- data.frame (matrix(sample( c(1,2,3,NA),15, replace = TRUE), 5,3))
X1 X2 X3
1 NA NA 2
2 1 3 3
3 NA 1 NA
4 NA 2 NA
5 2 NA 3
Run Code Online (Sandbox Code Playgroud)
我想用5种不同的种子循环这个过程:1:chr.我想以列方式组合结果数据框:
X1 X2 X3 X1.1 X2.1 X3.1 ... so on (r will accept two variables with same name)
X1 X2 X3 X1 X2 X3 X1 X2 X3 X1 X2 X3 X1 X2 X3
1 NA NA 2 1 NA NA 2 1 NA NA 2 1 NA …
Run Code Online (Sandbox Code Playgroud) 我有nxn类型的矩阵在哪里n = 100
左右.
mat <- matrix (1:10000, nrow=100)
rownames (mat) <- paste ("I", 1:100, sep = "")
colnames (mat) <- paste ("I", 1:100, sep = "")
Run Code Online (Sandbox Code Playgroud)
我想选择特定的行(或列)并创建一个小的nxn矩阵.
# for example rows selected:
c(1, 20, 33, 44, 64).
Run Code Online (Sandbox Code Playgroud)
因此得到的矩阵将循环如下:
I1 I20 I33 I44 I64
I1
I20
I33
I44
I64
Run Code Online (Sandbox Code Playgroud)
有办法吗?
r ×11
plot ×4
ggplot2 ×3
graph ×2
line ×2
axis-labels ×1
base ×1
connect ×1
data-binding ×1
data.table ×1
dataframe ×1
dendrogram ×1
figure ×1
heatmap ×1
image ×1
loops ×1
match ×1
matrix ×1
phylogeny ×1
subset ×1