下面的绘图代码给出了 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重绘维恩图的最简单方法是什么?我没有用于生成维恩图的数据,但其余的图是用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) 例如,我有一个像这样的代码:
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) 我有一个名字向量:
> 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
. 如何有效地处理数千个字符串?
所以,我想计算每列的平均值,并将结果放在列下面的行中.让我们从数据开始:
> 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) 我想在我的数据中添加一行:
我的部分数据:
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) 所以,我有一个像这样的矩阵:
> 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) 我将从可重现的示例开始,它是我的真实数据的一部分:
数据文件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)