小编Cha*_*aff的帖子

在R中的lapply调用中将列表名称添加为绘图标题

sample <- 
structure(list(GB05 = structure(c(22L, 34L, 26L, 2L), .Dim = 4L, .Dimnames = structure(list(
    c("98", "100", "102", "106")), .Names = ""), class = "table"), 
    GB18 = structure(c(8L, 14L, 70L), .Dim = 3L, .Dimnames = structure(list(
        c("173", "175", "177")), .Names = ""), class = "table"), 
    GB06 = structure(c(2L, 16L, 48L, 10L, 10L, 6L), .Dim = 6L, .Dimnames = structure(list(
        c("234", "238", "240", "242", "244", "246")), .Names = ""), class = "table"), 
    GB27 = structure(c(2L, 28L, 2L, 2L, 4L, 3L, 2L, 2L, …
Run Code Online (Sandbox Code Playgroud)

plot r

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

根据元素名称组合列表元素

如何通过元素名称组合这个向量列表?

L1 <- list(F01=c(1,2,3,4),F02=c(10,20,30),F01=c(5,6,7,8,9),F02=c(40,50))
Run Code Online (Sandbox Code Playgroud)

所以得到:

results <- list(F01=c(1,2,3,4,5,6,7,8),F02=c(10,20,30,40,50))
Run Code Online (Sandbox Code Playgroud)

我尝试按元素名称应用以下解决方案合并列表,但我无法弄清楚如何使其适应我的情况.

r

7
推荐指数
1
解决办法
1220
查看次数

使用awk基于两个匹配字段的sum列

我似乎找不到这个简单任务的awk解决方案.我可以根据一个匹配字段($ 1)轻松地将一列($ 3)与:

awk -F, '{array[$1]+=$3} END { for (i in array) {print i"," array[i]}}' datas.csv
Run Code Online (Sandbox Code Playgroud)

现在,我该如何基于两个字段来做到这一点?让我们说$ 1和$ 2?这是一个示例数据:

P1,gram,10  
P1,tree,12  
P1,gram,34  
P2,gram,23  
...
Run Code Online (Sandbox Code Playgroud)

如果第一个和第二个字段匹配,我只需要对第3列求和.

Thanx任何帮助!

awk

6
推荐指数
1
解决办法
9074
查看次数

为什么Rle不接受因素作为输入?

我无法在上传递此rle功能data.frame。函数在另一组上效果很好:

fgroup <- aggregate(fevents2[,3:14], list(weeks = fevents2[, 1]), function(x) rle(x)$values)
Run Code Online (Sandbox Code Playgroud)

产生错误:

Error in rle(x) : 'x' must be an atomic vector
Run Code Online (Sandbox Code Playgroud)

样本数据:

> dput(fevents2[1:20,])
structure(list(weeks = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("1",
"2", "3", "4", "5", "6", "7"), class = "factor"), A1M.Date = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, …
Run Code Online (Sandbox Code Playgroud)

r r-factor

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

可以连续地lapply传递(到函数)存储在向量中的值

我需要lapply连续传递(到函数)存储在向量中的值.

values <- c(10,11,13,10)
lapply(foo,function(x) peakabif(x,npeaks=values))
Run Code Online (Sandbox Code Playgroud)

所以得到:

peakabif(x1,npeaks=10)
peakabif(x2,npeaks=11)
peakabif(x3,npeaks=13)
peakabif(x4,npeaks=10)
Run Code Online (Sandbox Code Playgroud)

这是可能的还是我需要重新考虑使用lapply?函数内部的for循环是否有效?

r lapply

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

是否有可能在R中用条形图"分割条形图"?

我在= T旁边有一个条形图.我需要的是在每个条形的每个高度"标记"处分割(或绘制一条水平线).

样本矩阵图:

    > head(top.fem)
        FD1 FE2 FF1
    J01   2   2  10
    J02   4   0   0
    J03   6   2   5
    J04   1   6   3
    J05  10  10   2
    J06   9   6   5
Run Code Online (Sandbox Code Playgroud)

我只是:

barplot(top.fem,beside = T)
Run Code Online (Sandbox Code Playgroud)

因此,对于FD1,杆1的高度为2,杆2的高度为1,杆3的高度为6等...如何将杆1分成两个,两个四分之一和三个中的三个?结果将"看起来像"一个堆积条形图,但事实并非如此.我清楚了吗?

Thanx任何帮助!

r

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

ggplot2中的geom.point,条件形状

我正在用ggplot2整理我的第一个情节.我需要为值设置一个形状== 0.这是我的数据集和到目前为止我得到的:

structure(list(Var1 = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L,
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 1L, 2L, 3L, 4L, 5L,
6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 1L, 2L, 3L,
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 1L,
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L,
16L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

如果element为x且前一个元素为na,则在R中替换向量中的元素

foo <- c("a","a",NA,"b","a","a","b","b")
Run Code Online (Sandbox Code Playgroud)

如果以前的元素是NA,如何用"b"代替?

foo[foo=="b" & "previous-element"==NA] <- "whatever"
Run Code Online (Sandbox Code Playgroud)

所以预期产量将是:

result <- c("a","a",NA,"whatever","a","a","b","b")
Run Code Online (Sandbox Code Playgroud)

因此,只有NA之前的"b"(实际数据中很多)才会改变.

谢谢你的帮助!

r

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

从R中的向量列表中提取值范围

我正在努力完成这个简单的任务

我有一个向量列表,我想提取一个范围内的值,比如介于1700和6200之间.

sample <- list(c(1062, 1084, 1104, 1130, 1143, 1178, 1193, 1209, 1233, 
1276, 1315, 1458, 1752, 2027, 2483, 2598, 2713, 3196, 3780, 4448, 
4937, 5070, 5734, 6347, 6859, 6963), c(1101, 1125, 1153, 1166, 
1201, 1214, 1257, 1281, 1315, 1351, 1493, 1786, 2061, 2514, 2559, 
2583, 2628, 2742, 3185, 3223, 3801, 4469, 4954, 5090, 5753, 6364, 
6874, 6978))

sapply(sample, function(x) x[x > 1700])
sapply(sample, function(x) x[x < 6200])
Run Code Online (Sandbox Code Playgroud)

如何将这两个功能合二为一?

sapply(sample, function(x) x[x > 1700] & x[x<6200])
Run Code Online (Sandbox Code Playgroud)

不起作用,为什么?我错过了什么?

r list

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

R中的独特元组与rle

如何在这样的df中唯一(rle unique)元组

structure(c("M01", "M01", "M01", "M01", "M01", "M02", "M02", 
"M02", "M02", "M03", "M03", "F04", "F04", "F02", "F02", "F04", 
"F10", "F10", NA, "F10", "F01", "F01"), .Dim = c(11L, 2L), .Dimnames = list(
    NULL, c("a", "b")))

> sample
      a     b    
 [1,] "M01" "F04"
 [2,] "M01" "F04"
 [3,] "M01" "F02"
 [4,] "M01" "F02"
 [5,] "M01" "F04"
 [6,] "M02" "F10"
 [7,] "M02" "F10"
 [8,] "M02" NA   
 [9,] "M02" "F10"
[10,] "M03" "F01"
[11,] "M03" "F01"
Run Code Online (Sandbox Code Playgroud)

得到这个:

structure(c("M01", "M01", "M01", "M02", "M02", "M03", "F04", 
"F02", …
Run Code Online (Sandbox Code Playgroud)

r unique

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

R中的"反转"数据组织(不是转置)

这是我的数据框的示例列,RR是标题:

RR
Cvv  
Cvv  
Caa 
Run Code Online (Sandbox Code Playgroud)

我需要的是"反转"数据,以便在数据帧中获得子串vv和aa作为标题和RR.得到的矩阵将是:

vv  | aa  
CRR |  
CRR |  
    | CRR  
Run Code Online (Sandbox Code Playgroud)

所以我们在两个矩阵中都得到了相同的关系.在第一行和第二行,vv与RR耦合.在第三行,aa与RR耦合.

这可以通过R实现吗?有任何想法吗 ?

谢谢你的期待!

我在上面的例子中过度简化了我的数据.所以这是我的实际数据集的示例:

> dput(head(A1F[4:15],n=20))
structure(list(RR = structure(c(15L, 15L, 15L, 27L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("", 
" ", "Caa", "Caj", "Cbb", "Cbb ", "Cbv", "Cja", "Cjr", "Crj", 
"Crr", "Crv", "Cvb", "Cvr", "Cvv", "Gaa", "Gaj", "Gbb", "Gbv", 
"Gja", "Gjr", "Grj", "Grr", "Grv", "Gvb", "Gvr", "Gvv"), class = "factor"), 
    AA = …
Run Code Online (Sandbox Code Playgroud)

r

-1
推荐指数
1
解决办法
250
查看次数

标签 统计

r ×10

awk ×1

ggplot2 ×1

lapply ×1

list ×1

plot ×1

r-factor ×1

unique ×1