小编Emi*_*hez的帖子

生成对角背景渐变ggplot2 R

我用以下代码生成了 ggplot:

a = rnorm(10000, 0, 0.8)
b = rnorm(10000, 0, 0.8)

#Function to generate correlated vectors
complement <- function(y, rho, x) {
  if (missing(x)) x <- rnorm(length(y))
  y.perp <- residuals(lm(x ~ y))
  rho * sd(y.perp) * y + y.perp * sd(y) * sqrt(1 - rho^2)
}

b = complement(b, 0.9, a)

data = as.data.frame(cbind(a, b, a-b))

blues = adjustcolor(c("white", "dodgerblue3"), alpha=0.4)
blues2 = adjustcolor(c("dodgerblue3", "white"), alpha=0.4)


g <- rasterGrob(t(blues), width=unit(1,"npc"), height = unit(1,"npc"), 
                interpolate = T) 
g2 <- rasterGrob(t(blues2), …
Run Code Online (Sandbox Code Playgroud)

gradient background r ggplot2

5
推荐指数
0
解决办法
137
查看次数

按值对多维散列进行排序并显示最高的

我具有%info以下结构的存储的多维哈希():

$info{$os}{$id}=$length;

foreach $os (keys %info){   
    foreach $id (keys %{$info{$os}}){
        print "$os $id => " . $info{$os}{$id} ."\n" if (keys %info > 100);
    }
}
Run Code Online (Sandbox Code Playgroud)

这样,我可以读取哈希并仅打印$os出现次数超过100 的哈希值,但是现在我只想打印$id具有最高$ length(即值)的值。因此,我想按值对散列进行排序并仅打印$os$id具有最高值。

有什么帮助吗?

sorting perl hash

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

将矩阵列表转换为 data.frame,其中 row.names 作为列表名称

我有一个矩阵列表,list1其结构如下:

$ENSLAFT00000000003
     start end
[1,]   360 360
[2,]   394 394

$ENSLAFT00000000011
     start end
[1,]    15  15

$ENSLAFT00000000020
     start end
[1,]    45  45

$ENSLAFT00000000023
     start end

$ENSLAFT00000000024
     start  end
[1,]    13   13
[2,]   369  369
[3,]   602  602
[4,]   775  775
[5,]   983  983
[6,]  1200 1200
[7,]  1491 1491

Run Code Online (Sandbox Code Playgroud)

有些项目是空的,但我想将此列表转换为具有两列和以下结构的 data.frame:

ID                         pos
ENSLAFT00000000003         360
ENSLAFT00000000003         394
ENSLAFT00000000011          15
ENSLAFT00000000020          45
ENSLAFT00000000024          13
ENSLAFT00000000024         369
ENSLAFT00000000024         602
ENSLAFT00000000024         775
ENSLAFT00000000024         983
ENSLAFT00000000024        1200
ENSLAFT00000000024        1491 

Run Code Online (Sandbox Code Playgroud)

ENSLAFT00000000023 在输出中被省略,因为它在初始列表中是一个空矩阵。

我可以通过使用以下方法获得所需的结构,但不保留行名身份: …

r list matrix

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

删除字符串的开头和结尾,直到在R中找到模式为止

因此,我有一个字符串代表折叠RNA的二级结构,例如:

"....(((((((((...((...(((((((((((..((.(.......))))))))..))))..)))....."
Run Code Online (Sandbox Code Playgroud)

我的目标是摆脱字符串极端中的这些点,以便获得:

"(((((((((...((...(((((((((((..((.(.......))))))))..))))..)))"
Run Code Online (Sandbox Code Playgroud)

我一直在尝试通过使用gsub函数,如:

gsub("\\.+\\(", "", string)
Run Code Online (Sandbox Code Playgroud)

首先,以及:

gsub("\\)\\.+", "", string)
Run Code Online (Sandbox Code Playgroud)

最后

但是此命令的输出为:

"(((((((((((((((((((((((((.......))))))))..))))..)))....."
Run Code Online (Sandbox Code Playgroud)

和:

"....(((((((((...((...(((((((((((..((.(.......)))))))))))))))"
Run Code Online (Sandbox Code Playgroud)

基本上,我不希望除去中间的点,仅除去开头和末尾的中间点。

有人知道用R解决它的好方法吗?

谢谢

regex string r gsub

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

根据列之间的一致性粘贴两个文件

我需要一些帮助:

我有文件1:

ID
100
102
103
104
108
109
112
.
.
.
Run Code Online (Sandbox Code Playgroud)

和file2:

ID    []    p1    p2
100    2.5    3.0    2.0
101    2.0    4.0    3.0
102    2.6    4.0    2.5
103    2.3    2.0    NA
104    2.3    2.0    2.0
105    3.5    2.8    2.0
106    1.7    NA    3.2
107    5.0    4.0    4.0
108    3.2    2.0    4.0
109    2.9    1.0    1.5
110    5.0    NA    NA
111    2.9    4.0    4.0
112    3.1    2.5    2.0
.
.
.
Run Code Online (Sandbox Code Playgroud)

我想将这两个文件粘贴到file3中,如下所示:

ID    []    p1    p2
100    2.5 …
Run Code Online (Sandbox Code Playgroud)

shell awk join cut paste

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

标签 统计

r ×3

awk ×1

background ×1

cut ×1

ggplot2 ×1

gradient ×1

gsub ×1

hash ×1

join ×1

list ×1

matrix ×1

paste ×1

perl ×1

regex ×1

shell ×1

sorting ×1

string ×1