我想使用Gviz
包将置信区间映射到具有NA的数据.我修改了手动示例来揭露我的问题.首先作为手册曝光:
library(Gviz)
## Loading GRanges object
data(twoGroups)
## Plot data without NAs
dTrack <- DataTrack(twoGroups, name = "uniform")
tiff("Gviz_original.tiff", units="in", width=11, height=8.5, res=200, compress="lzw")
plotTracks(dTrack, groups = rep(c("control", "treated"),
each = 3), type = c("a", "p", "confint"))
graphics.off()
Run Code Online (Sandbox Code Playgroud)
## Transforming in data frame
df <- as.data.frame(twoGroups)
## Input NAs to look like my real data
df[ df <= 0 ] = NA
df <- df[,-4]
df <- df[,-4]
names(df) <- c("chr", "start", "end", …
Run Code Online (Sandbox Code Playgroud) 我想排除所有重复的行.但是,只有当它们是后续行时才必须如此.遵循一个代表性的例子:
我的意见df
:
df <- "NAME VALUE
Prb1 0.05
Prb2 0.05
Prb3 0.05
Prb4 0.06
Prb5 0.06
Prb6 0.01
Prb7 0.10
Prb8 0.05"
df <- read.table(text=df, header=T)
Run Code Online (Sandbox Code Playgroud)
我的期望outdf
:
outdf <- "NAME VALUE
Prb1 0.05
Prb4 0.06
Prb6 0.01
Prb7 0.10
Prb8 0.05"
outdf <- read.table(text=df, header=T)
Run Code Online (Sandbox Code Playgroud) 我想df1
基于超出特定数字区间的值的子集df2
.
我的意见df1
和df2
:
df1 <- 'name sam1 sam2 sam3
AZ1 2.65 2.56 2.65
AX1 2.22 2.41 2.85
AX2 2.45 2.45 2.85'
df1 <- read.table(text=df1, header=T)
df2 <- 'name sam1 sam2 sam3
AZ1 1 0 1
AX1 0.75 0.55 1
AX2 0 0 0.62'
df2 <- read.table(text=df2, header=T)
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下代码将其子集化但未成功:
out <- df1[if(df2 >= 0.90) |if(df2 <= 0.10) | if(df2 <= 0.60 && df2 >= 0.40)]
Run Code Online (Sandbox Code Playgroud)
我试图仅将df1
具有高于0.90 或低于0.1 或 0.4到0.6之间的值的单元进行子集(反之:NA到x
间隔:0.40> …
我想改变组(S1
...... S5
)在Var1
列描绘最多的Freq
列S1
,第二大的作为S2
等.请注意,这种情况下的因素是Position
列中的数字.因此,对于Position == 26998698
,例如,我们将与结束1587
作为S1
在output
代替S3
,340
如S2
在output
代替S4
等.
df <- 'Var1 Freq Position
S1 1 26998698
S2 125 26998698
S3 1587 26998698
S4 340 26998698
S5 8 26998698
S1 68 27252684
S2 703 27252684
S3 913 27252684
S4 293 27252684
S5 58 27252684
S1 7 27209738
S2 383 27209738
S3 1425 27209738
S4 …
Run Code Online (Sandbox Code Playgroud) 我想用df
行的中位数替换我的所有数字,保持NA值.这是我的意见:
df <- 'pr_id sample1 sample2 sample3 median
AX-1 NA 120 130 125
AX-2 NA NA NA NA
AX-3 NA NA 196 196'
df <- read.table(text=df, header=T)
Run Code Online (Sandbox Code Playgroud)
这是我的预期输出:
df <- 'pr_id sample1 sample2 sample3
AX-1 NA 125 125
AX-2 NA NA NA
AX-3 NA NA 196'
df <- read.table(text=df, header=T)
Run Code Online (Sandbox Code Playgroud)
有什么想法实现这一目标?
我想p.adjust
在 R 中应用该函数,其中n
is < p 值的数量。独立测试的实际数量低于 p 值的数量,因为它来自具有连锁去平衡 Desequilibrium 的基因组数据(独立测试的有效数量,Meff)。
但是,该p.adjust
函数不允许这样做:number of comparisons, must be at least length(p)
。
有人知道如何更改函数或其他通用函数中的默认值来完成类似的工作吗?谢谢你!
遵循的步骤:
1 - 3242 个测试标记 = 3242 个 p 值
2 - 推断的 Meff 为:1096(http://simplem.sourceforge.net/ procedure)
现在我需要根据 Meff 估计修正后的 treshould 或修正后的 p 值。
我不确定哪种多重测试校正策略更适合或如何将其应用到我的数据中。