小编use*_*015的帖子

在ggplot中按组颜色和更改线型

到目前为止,我有一个数据框:

  N Method1-Simulation Method1-Analytical Method2-Simulation Method3-Analytical
1 2              0.094          0.1831891              0.158          0.2789826
2 3              0.236          0.2856285              0.434          0.4670031
3 4              0.349          0.3740548              0.568          0.6097311
4 5              0.450          0.4525999              0.682          0.7174169
5 6              0.506          0.5228121              0.781          0.7976934
6 7              0.585          0.5854665              0.851          0.8566850
Run Code Online (Sandbox Code Playgroud)

它将容纳更多的方法。我想制作一个ggplot,其中每种方法都有其自己的颜色,分析方法为实线,而模拟方法为虚线。

除了虚线,我拥有所有东西,如下所示:

longPowerCurve <- melt(powerCurve, id = "N")
colnames(longPowerCurve)[2] <- "Method"

ggplot(data=longPowerCurve,aes(x=N, y=value, colour=Method)) + geom_line() +ylab("Power") +ggtitle("Power levels for various N and distributions")+
  theme(legend.text = element_text(size = 12))
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以使它自动化,以便如果我有5、6、7、8等方法,那么它们仍然可以工作?

r ggplot2

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

R markdown使用不同的参数重新运行报告的相同部分

我熟悉R markdown"参数".

但是,我想要生成相同的报告(相同的图表,相同的表格)但是要生成5个不同的区域.

有没有办法在循环或lapply中优雅地完成这项工作,或者我需要制作几个部分.所以在伪代码中我想做的事情如下:

for(i in 1:5):
   Bunch of text
   table[i]
   plot[i]
Run Code Online (Sandbox Code Playgroud)

代替

bunch of text
table[1]
plot[1]

bunch of text
table[2]
plot[2]

...
Run Code Online (Sandbox Code Playgroud)

换句话说,我想功能化报告的"部分",然后我可以打电话

for(i in 1:5):
   makeReport(i)
Run Code Online (Sandbox Code Playgroud)

它将进入,放入与索引i相关的文本,数字等.

r r-markdown

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

在 Python 中解析 .pdb 文件

我正在尝试为 .pdb 文件编写一个快速解析器(它们显示蛋白质结构)。我正在研究的蛋白质的一个例子是 KRAS(在癌症中很常见),在这里:http : //www.rcsb.org/pdb/files/3GFT.pdb

如果向下滚动足够远,您将看到如下所示的一行:ATOM 1 N MET A 1 63.645 97.355 31.526 1.00 33.80 N

第一个元素“原子”意味着这与蛋白质中的实际原子有关。1表示一般计数,N表示原子类型,“MET”是残基的名称,“A”表示链的类型,1(第二个“1”)是原子数和那么接下来的 3 个数字是空间中的 xyz 位置。

我需要的输出是这样的(下面的“1”对应于原子计数,而不是一般计数):MET A 1 63.645 97.355 31.526

更复杂的是,有时原子数(在这种情况下是第二个“1”)是负数。在这些情况下,我想跳过该行并继续,直到我遇到一个积极的条目,因为这些元素与找到位置所需的生物化学有关,而不是实际的蛋白质。更糟糕的是,有时你会得到这样的一行:

ATOM 139 CA AILE A 21 63.260 111.496 12.203 0.50 12.87 C
ATOM 140 CA BILE A 21 63.275 111.495 12.201 0.50 12.17 C

虽然他们都提到了残基 21,但生物化学不够精确,无法获得准确的位置,因此他们给出了两种选择。理想情况下,我会指定“1”、“2”或其他什么,但如果我只选择第一个选项就可以了。最后,对于原始示例中的原子类型(“N”),我只想获得带有“CA”的那些行。

我是 python 的新手,我的培训是生物统计,所以我想知道这样做的最佳方法是什么?我是否使用 for 循环逐行解析此行?有没有办法在python中做得更快?我如何处理某些原子的双重条目?

我意识到这有点要问,但一些指导会很有帮助!我已经使用 R 编程了所有的统计位,但现在我只需要以正确的格式获取我的文件!

谢谢!

python

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

R apply语句不适用于矩阵

我想知道为什么以下对我在这里发布的矩阵结构不起作用的原因(我使用了dput命令).

当我尝试跑步时:

apply(mymatrix, 2, sum)
Run Code Online (Sandbox Code Playgroud)

我明白了:

Error in FUN(newX[, i], ...) : invalid 'type' (list) of argument
Run Code Online (Sandbox Code Playgroud)

但是,当我检查以确保它是一个矩阵时,我得到以下内容:

is.matrix(myMatrix的)

[1] TRUE
Run Code Online (Sandbox Code Playgroud)

我意识到我可以通过将数据列入临时变量然后重新创建矩阵来解决这个问题,但我很好奇为什么会发生这种情况.

r sum matrix apply

4
推荐指数
2
解决办法
1716
查看次数

更改dcast以显示多列

我有以下情况。考虑以下df:

mymatrix <- as.data.frame(matrix(data = 0, nrow = 7, ncol = 4))
colnames(mymatrix) <- c("Patient", "marker", "Number", "Visit")

mymatrix[,1] <- c("B1","B1","C1","C1","D1","D1","D1")
mymatrix[,2] <- c("A","A","A","A","A","A","A")
mymatrix[,3] <- c(1,0,0,15,1,2,13)
mymatrix[,4] <- c("baseline","followup","baseline","followup","baseline","followup","followup")

> mymatrix
  Patient marker Number    Visit
1      B1      A      1 baseline
2      B1      A      0 followup
3      C1      A      0 baseline
4      C1      A     15 followup
5      D1      A      1 baseline
6      D1      A      2 followup
7      D1      A     13 followup
Run Code Online (Sandbox Code Playgroud)

如果我在前6行进行dcast,则会得到:

> dcast(mymatrix[1:6,], Patient +marker~Visit, value.var = "Number")
  Patient …
Run Code Online (Sandbox Code Playgroud)

r reshape2

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

零膨胀泊松模型不适合

这是数据和设置:

library(fitdistrplus)
library(gamlss)

finalVector <- dput(finalVector)
c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

r poisson

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

如何根据相关条件在dplyr中进行过滤

我有一个数据框.我想仅在与特定组关联的情况下过滤掉一些问题.

对于一个虚拟示例,假设我有以下内容:

> mydf
   Group Issue
1      A     G
2      A     H
3      A     L
4      B     V
5      B     M
6      C     G
7      C     H
8      C     L
9      C     X
10     D     G
11     D     H
12     D     I
Run Code Online (Sandbox Code Playgroud)

如果该组中还存在"L"问题,我想过滤出带有"G"或"H"或"L"问题的行.

所以在这种情况下,我想过滤出行1,2,3,6,7,8但是留下行4,5,9,10,11和12.因此结果将是:

> mydf
   Group Issue
4      B     V
5      B     M
9      C     X
10     D     G
11     D     H
12     D     I
Run Code Online (Sandbox Code Playgroud)

我想我首先需要,group_by(Group)但后来我想知道最好的方法是什么.

谢谢!

r dplyr

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

R Shiny Dashboard Infobox超过两行

我希望在两行上有一个信息框显示文本.例如,如果我要将html和闪亮结合起来(就像传单中的弹出窗口一样):

output$myInfoBox <- renderInfoBox({infobox(paste("Output1: ", myout1, "<br>", "Output2: ", myout2, sep = ""))})
Run Code Online (Sandbox Code Playgroud)

我试过"<br>", "\n",等等没什么用.

谢谢!

r shiny

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

在ggplot2中缺少功能区

我似乎无法在ggplot2中设置功能区来显示.

这是一个组成的数据集:

Estimate <-  c(100,125,150,175)
GlobalDFData <- data.frame(Estimate, Upper = Estimate + 25, Lower = Estimate - 25, Date = paste0('Q', 1:4,'_16'), Area = 'Global', stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试的代码没有成功.我得到折线图但不是上下界

ggplot(GlobalDFData, aes(x = Date)) + 
  geom_line(aes(y = Estimate, group = Area, color = Area))+
  geom_point(aes(y = Estimate, x = Date))+
  geom_ribbon(aes(ymin = Lower, ymax = Upper))
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

R Plotly Two Plots并排

我试图在阴谋中并排获得两个甜甜圈.但是,我只得到一张图片.关于我缺少的任何建议?

library(dplyr)
library(plotly)

df1 <- as.data.frame(matrix(data = c("a","b", "c", 34,28, 29), nrow = 3, ncol = 2))
colnames(df1) <- c("category", "count")
df2 <- as.data.frame(matrix(data = c("Q","F", "G", 29,50, 76), nrow = 3, ncol = 2))
colnames(df2) <- c("group", "count")


p <- subplot(
  plot_ly(df1, labels = category, values = count, type = "pie", hole = 0.6, showlegend = TRUE),
  plot_ly(df2, labels = group, values = count, type = "pie", hole = 0.6, showlegend = TRUE),
  margin = 0.05,
  nrows = 2 …
Run Code Online (Sandbox Code Playgroud)

plot r plotly

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

标签 统计

r ×9

ggplot2 ×2

apply ×1

dplyr ×1

matrix ×1

plot ×1

plotly ×1

poisson ×1

python ×1

r-markdown ×1

reshape2 ×1

shiny ×1

sum ×1