小编Rec*_*lay的帖子

用ggplot2绘图:"分类y轴上的误差:提供给连续刻度的离散值"

下面的绘图代码给出了 Error: Discrete value supplied to continuous scale

这段代码出了什么问题?它工作正常,直到我尝试更改比例,所以错误就在那里......我试图找出类似问题的解决方案,但不能.

这是head我的数据:

> dput(head(df))
structure(list(`10` = c(0, 0, 0, 0, 0, 0), `33.95` = c(0, 0, 
0, 0, 0, 0), `58.66` = c(0, 0, 0, 0, 0, 0), `84.42` = c(0, 0, 
0, 0, 0, 0), `110.21` = c(0, 0, 0, 0, 0, 0), `134.16` = c(0, 
0, 0, 0, 0, 0), `164.69` = c(0, 0, 0, 0, 0, 0), `199.1` = c(0, 
0, 0, 0, 0, 0), `234.35` = …
Run Code Online (Sandbox Code Playgroud)

r scale ggplot2 categorical-data r-factor

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

重绘维恩图

使用R重绘维恩图的最简单方法是什么?我没有用于生成维恩图的数据,但其余的图是用R绘制的...我想保持相同的结构,这意味着我必须以某种方式在R中重绘它.

你知道最简单的方法是什么吗? 这是我必须在R中创建的维恩图

这是我用于其他维恩图的代码.

v1 <- venn.diagram(list(1=a, 2=b, 3=c, 4=d), filename=NULL, fill=rainbow(4), cex.prop=NULL, cex=1.5)
png("TEST.png", width=7, height=7, units='in', res=150)
grid.newpage()
grid.draw(v1)
dev.off()
Run Code Online (Sandbox Code Playgroud)

r venn-diagram

12
推荐指数
1
解决办法
605
查看次数

如何将dput()的输出加载到对象中?

例如,我有一个像这样的代码:

structure(list(mpg = c(21, 21, 22.8, 21.4, 18.7, 18.1, 14.3, 
24.4, 22.8, 19.2, 17.8, 16.4, 17.3, 15.2, 10.4, 10.4, 14.7, 32.4, 
30.4, 33.9, 21.5, 15.5, 15.2, 13.3, 19.2, 27.3, 26, 30.4, 15.8, 
19.7, 15, 21.4), cyl = c(6, 6, 4, 6, 8, 6, 8, 4, 4, 6, 6, 8, 
8, 8, 8, 8, 8, 4, 4, 4, 4, 8, 8, 8, 8, 4, 4, 4, 8, 6, 8, 4), 
    disp = c(160, 160, 108, 258, 360, 225, 360, 146.7, 140.8, …
Run Code Online (Sandbox Code Playgroud)

r variable-assignment

10
推荐指数
1
解决办法
571
查看次数

将特定字符添加到重复的字符串中

我有一个名字向量:

> dput(vec_dup)
c("Mark", "Simon", "Marcus", "Greg", "Simon", "Greg", "Marta", 
"Marta", "Tim", "Tim", "Greg", "Tom", "Tom", "Greg")
Run Code Online (Sandbox Code Playgroud)

一些名称在此向量中重复。我想向每个字符串添加特定字符_1, _2, _3。添加的数字取决于它出现在向量中的时间以及之前出现的次数。

期望的输出:

vec_output <- c("Mark_1", "Simon_1", "Marcus_1", "Greg_1", "Simon_2", "Greg_2", "Marta_1", 
                "Marta_2", "Tim_1", "Tim_2", "Greg_3", "Tom_1", "Tom_2", "Greg_4")
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它不仅仅是关于重复的字符串,因为Marcus在字符串中只出现一次,并且仍然应该得到_1. 如何有效地处理数千个字符串?

r

4
推荐指数
1
解决办法
2403
查看次数

colmeans并导致最后一行

所以,我想计算每列的平均值,并将结果放在列下面的行中.让我们从数据开始:

> head(tbl_mut)

     timetE4_1  timetE1_2  timetE2_2  timetE3_2  timetE4_2   eve_mean   mor_mean  tot_mean
    1   4048.605   59094.48   27675.59   26374.06   43310.01   7774.442   39113.53  23443.99
    2  45729.986  139889.21  111309.64  129781.17   96924.62  43374.117  119476.16  81425.14
    3 639686.154 1764684.16 1117027.29 1147967.45 1156442.48 585562.724 1296530.34 941046.53
    4   4466.153   26250.32   20320.08   18413.54   29061.25   3866.547   23511.30  13688.92
Run Code Online (Sandbox Code Playgroud)

这就是我想要实现的目标:

timetE4_1  timetE1_2  timetE2_2  timetE3_2  timetE4_2   eve_mean   mor_mean  tot_mean
    1   4048.605   59094.48   27675.59   26374.06   43310.01   7774.442   39113.53  23443.99
    2  45729.986  139889.21  111309.64  129781.17   96924.62  43374.117  119476.16  81425.14
    3 639686.154 1764684.16 1117027.29 1147967.45 1156442.48 …
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
2
解决办法
754
查看次数

如何使用其他数据向ggplot添加行?

我想在我的数据中添加一行:

我的部分数据:

dput(d[1:20,])
structure(list(MW = c(10.8, 10.9, 11, 11.7, 12.8, 16.6, 16.9, 
17.1, 17.4, 17.6, 18.5, 19.1, 19.2, 19.7, 19.9, 20.1, 22.4, 22.7, 
23.4, 24), Fold = c(21.6, 21.8, 22, 23.4, 25.6, 33.2, 33.8, 34.2, 
34.8, 35.2, 37, 38.2, 38.4, 39.4, 39.8, 40.2, 44.8, 45.4, 46.8, 
48), Column = c(33.95, 33.95, 33.95, 33.95, 33.95, 33.95, 33.95, 
33.95, 33.95, 33.95, 33.95, 33.95, 33.95, 33.95, 33.95, 33.95, 
33.95, 33.95, 33.95, 33.95), Bool = c(1, 1, 1, 1, 1, 1, 1, 1, 
1, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

3
推荐指数
1
解决办法
5132
查看次数

从矩阵创建条形图

所以,我有一个像这样的矩阵:

> dput(tbl_sum_peaks[1:40])
structure(c(2, 8, 3, 4, 1, 2, 1, 3, 1, 3, 1, 4, 4, 2, 1, 1, 2, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 2, 1, 5, 4, 2, 1, 1, 2, 1, 
4, 2), .Names = c("AT1G01050", "AT1G01080", "AT1G01090", "AT1G01320", 
"AT1G01470", "AT1G01800", "AT1G01910", "AT1G01960", "AT1G01980", 
"AT1G02150", "AT1G02470", "AT1G02500", "AT1G02560", "AT1G02780", 
"AT1G02816", "AT1G02880", "AT1G02920", "AT1G02930", "AT1G03030", 
"AT1G03090", "AT1G03110", "AT1G03210", "AT1G03220", "AT1G03230", 
"AT1G03330", "AT1G03475", "AT1G03630", "AT1G03680", "AT1G03740", 
"AT1G03870", "AT1G04080", "AT1G04170", "AT1G04270", "AT1G04410", 
"AT1G04420", …
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
1
解决办法
65
查看次数

在两个矩阵中找到序列之间的部分重叠

我将从可重现的示例开始,它是我的真实数据的一部分:

数据文件1:

> dput(exp_data)
structure(c("ACLVDGSYHDVDSSVLAFQLAAR", "AELNQVVR", "AFEPGLLAK", 
"AFSVFLFNSK", "AFYEFQQR", "AGEPLYVLLCCWVAAVGAGLLK", "AIKDFPHR", 
"AIRIPVVR", "AIVWSGEELGAK", "ALAALQGR", "ALEGIYACCFR", "ANLSSVQIDR", 
"ANLSSVQIDRELK", "ASYTMQLAK", "ATRVEEGGEEENVMAK", "AVELVILPR", 
"AVPLKDYR", "CLAAIEGR", "DIVSEHPER", "DLVDFAEFR", "DLVDFAEFRK", 
"DMIVTNLGAKPLVLQIPIGAEDVFK", "DQSDREVDVTQNR", "DQVSIIPFR", "DQVSIIPFRGDAAEVLLPPSR", 
"DQVTAEDVGIVIPNCLR", "DRVTPDDVATVIPNCLR", "DSILQSIHEPELISAFDTGGAELLYEIR", 
"DSLVQSGAKPELIAAFDTNGAELLYEIR", "DTITGETLSDPENPVVLER", "EDGVMTAELLQR", 
"EGISISHPAR", "EIGGIAISGR", "EILVQHLLVK", "ELHGESEEERVKEEEIK", 
"23", " 8", " 9", "10", " 8", "22", " 8", " 8", "12", " 8", "11", 
"10", "13", " 9", "16", " 9", " 8", " 8", " 9", " 9", "10", "25", 
"13", " 9", "21", "17", "17", "28", …
Run Code Online (Sandbox Code Playgroud)

r

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