小编Ada*_*ice的帖子

什么导致"必须从我的R包中请求至少一种颜色的色调调色板"错误只在基于Linux的构建?

我目前正在检查一些代码以实现跨平台兼容性.我正在使用Travis-CI在GitHub提交的ubuntu下构建我的R包.如果我删除了这一个单独的部分,它就会成功构建,但是如果我包含这个代码,我会收到错误:

Must request at least one colour from a hue palette.
Run Code Online (Sandbox Code Playgroud)

这种构建很好并且在Windows和OS X上正常工作,这个问题只出现在ubutu构建中.我还想指出这是在执行后面的代码的插图生成步骤期间发生的.此错误消息似乎源自R scale库中的此功能.

我有一些看起来像这样的数据:

gene <- c("ISG20","ISG20","HEY1","ISG20","ACTB","MDM2","CDYL","HEY1","ACTB","UTP3","MDM2") 
variable <- c("6h_ebov","1d_ebov","1d_ebov","2d_ebov","2d_ebov","2d_ebov","2d_restv","2d_restv","2d_restv","2d_restv","2d_restv")
value <- c(-4.54267311671893,0.523667984831315,0.552671011358972,3.97643775389922,0.888734866999937,1.26719604773752,1.31653814202267,2.28445821019938,1.00301304727651,1.86941283629719,1.33916249182697 )

filteredList <- data.frame(gene,variable,value)

> head(filteredData)
   gene variable      value
1 ISG20  6h_ebov -4.5426731
2 ISG20  1d_ebov  0.5236680
3  HEY1  1d_ebov  0.5526710
4 ISG20  2d_ebov  3.9764378
5  ACTB  2d_ebov  0.8887349
6  MDM2  2d_ebov  1.2671960
Run Code Online (Sandbox Code Playgroud)

我使用ggplot2来显示这些数据,我的命令大致如下:

library(ggplot2)
library(ggthemes)

stata_long_pal = c(stata_pal("s2color")(15), stata_pal("s1rcolor")(15))
plot_out <- ggplot(filteredList, aes(x=value, y=factor(variable, levels=as.character(unique(variable)), ordered=TRUE), label=variable, col=variable)) + 
        geom_point(stat='identity', aes(col=variable), size=3) +
        theme_stata() …
Run Code Online (Sandbox Code Playgroud)

ubuntu compiler-errors r ggplot2 r-package

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

如何在Python中合并重叠的字符串?

我有一些绳子,

['SGALWDV', 'GALWDVP', 'ALWDVPS', 'LWDVPSP', 'WDVPSPV']
Run Code Online (Sandbox Code Playgroud)

这些字符串彼此部分重叠。如果您手动重叠它们,您将得到:

SGALWDVPSPV
Run Code Online (Sandbox Code Playgroud)

我想要一种从重叠字符串列表到 python 中的最终压缩字符串的方法。我觉得这一定是一个已经有人解决的问题,并且正在努力避免重新发明轮子。我现在可以想象的方法要么是蛮力,要么是通过使用biopython和序列比对器变得比我想要的更复杂。我有一些简单的短字符串,只想以简单的方式正确合并它们。

有没有人有关于在 python 中执行此操作的好方法的建议?谢谢!

python string merge biopython

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

扩展 R S4 对象以拥有新的插槽并保持原始对象以相同的方式工作

我有一个“DESeqResults”类的 S4 对象。本质上,我希望能够向该对象添加新信息。理想情况下,我只想为其添加一些插槽,以便我可以存储以下内容:

myDESet@new_slot = 5 
Run Code Online (Sandbox Code Playgroud)

我开始认为我必须创建一个继承“ DESeqResults”的子类,虽然我还不确定如何在 R 中做到这一点,但我更关心如何从原始对象中保留数据完整。

本质上,一个库正在制作和使用这个“D ESeqResults”类对象,在它被创建并拥有一些数据之后,它将被用于很多功能。在创建其中之一之后,我只想向对象添加一些新信息。如果我创建一个扩展这个类并有额外插槽的类,我如何将所有现有数据从类的原始实例转移到子类的新实例中?

实现我在这里要做的事情的最佳方法是什么?是否可以在实例化任何对象之前修改原始类,以便在创建它们时具有我需要的额外插槽?还是有其他方法可以实现这一目标?

非常感谢!

oop r object s4

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

使用Pheatmap时裁剪的列标签

我正在使用pheatmap文档)绘制热图。我正在以一种非常简单的方式绘制矩阵:

pheatmap(mat, annotation_col=df, labels_col=rld$Infection_Line, fontsize_row=5, fontsize_col=7) 
Run Code Online (Sandbox Code Playgroud)

我的图的底部被截断,因此我无法在底部看到列名称。看起来像这样:

在此处输入图片说明

请注意,这不是热图2。

我已经尝试过这个问题这个问题的解决方案,以及我可以通过google和此功能的文档找到的其他东西。

我尝试使用par()和oma()以及cexRow增加边距。

margins=(x,y); par(mar=c(1,2,3,4)); par(oma=c(1,2,3,4))  
Run Code Online (Sandbox Code Playgroud)

对情节没有影响。

我需要这样做,以便我可以看到这些长列名称而不会减小我的绘图大小。我只想扩大底部的边距。

plot r pheatmap

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

在R中,使用melt(),如何隐藏警告消息?

我正在融化一些数据,并且不想提供一个id.var参数来融化.数据融化得很好,但我得到了

"No id variables; using all as measure variables"
Run Code Online (Sandbox Code Playgroud)

有没有办法防止该消息出现,或者说id.var = default或类似的方式?使用dplyr的虹膜示例:

> dt <- iris %>% summarize_at(c("Sepal.Length","Sepal.Width"), funs(mean))
> dt
  Sepal.Length Sepal.Width
1     5.843333    3.057333
> melt(dt, value.name="Mean")
No id variables; using all as measure variables
      variable     Mean
1 Sepal.Length 5.843333
2  Sepal.Width 3.057333
Run Code Online (Sandbox Code Playgroud)

或者有没有办法告诉函数不打印警告消息或类似的东西?谢谢!

r melt reshape2

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

如何为 R 中具有三个类的 randomForest 模型绘制 ROC 曲线?

我正在使用 R 包 randomForest 创建一个可分为三组的模型。

 model = randomForest(formula = condition ~ ., data = train, ntree = 2000,      
                       mtry = bestm, importance = TRUE, proximity = TRUE) 

           Type of random forest: classification
                 Number of trees: 2000
                 No. of variables tried at each split: 3

           OOB estimate of  error rate: 5.71%

           Confusion matrix:
           lethal mock resistant class.error
 lethal        20    1         0  0.04761905
 mock           1   37         0  0.02631579
 resistant      2    0         9  0.18181818
Run Code Online (Sandbox Code Playgroud)

我试过几个图书馆。例如,使用 ROCR,你不能做三个分类,只能做两个。看:

pred=prediction(predictions,train$condition)

Error in prediction(predictions, train$condition) : 
  Number …
Run Code Online (Sandbox Code Playgroud)

plot r graph roc proc-r-package

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

在R中,如何有条件地将命名列表的元素设置为等于该元素的名称?

我有一个命名列表,它看起来像这样:

ENSG00000283891 ENSG00000251931 ENSG00000207766 ENSG00000276678 ENSG00000207260 ENSG00000265993 ENSG00000207185 ENSG00000283793 ENSG00000201545 
   "MIR628"     "RNU6-871P"        "MIR626"              ""      "RNU6-35P"       "MIR5694"    "RNU6-1157P"       "MIR6861"      "RNU4-85P"
Run Code Online (Sandbox Code Playgroud)

我想将任何空的字段(即:"")设置为其关联的名称.所以这个例子中的第四项是一个空字符串.我想将该空字符串的值更改为名称,因此它应该变为"ENSG00000276678".

有谁知道这样做的好方法?我觉得应该有一个很好的ifelse在那里或一些非常直接的方式去做,但我还没有找到它.非常感谢.

r list

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