R:用括号或钩子理解简化脚本?

时间:2016-07-04 14:38:17

标签: r dataframe hook brackets

我想了解这个脚本是如何运作的:

y <- y[keep, , keep.lib.sizes=FALSE]

in: keep <- rowSums(cpm(y)>1) >= 3 y <- y[keep, , keep.lib.sizes=FALSE]

我知道d.f[a,b]但我找不到d.f[a, ,b]的R-doc。

我试过“括号”,“钩子”,“逗号”......: - (

(有时我宁愿一个人没有简化他的R剧本!)

提前致谢。

1 个答案:

答案 0 :(得分:0)

订阅data.Frames有两个值:library(dplyr) df %>% mutate(nexcol = rowSums(!is.na(.[5:10])), nexcol = case_when(.$name == 'N' ~ 1, .$nexcol == 0 ~ .$v1, TRUE ~ .$nexcol)) # name year v1 COL1 COL2 COL3 COL4 COL5 COL6 COL7 nexcol # 1 S 1960 2.00 0.000000 NA NA NA NA NA NA 2 # 2 S 1961 3.00 0.000000 NA NA NA NA NA NA 3 # 3 S 1962 4.00 0.000000 52 NA NA NA 10 NA 2 # 4 S 1963 2.00 0.000000 NA NA NA NA NA NA 2 # 5 N 1964 3.00 0.000000 NA NA 55 NA 22 NA 1 # 6 S 1965 -0.13 -0.160506 NA NA NA NA NA 45 1 。任何第三个值都是可用于下标的可选参数。

其中最常见的是df[rows, columns]drop=FALSE。这样做是因为当您只对data.frame的一列进行子集时,它将丢失data.frame类。在您的特定情况下,您似乎正在使用另一个看起来像data.frame的对象,但具有来自bioconductor包的附加功能。看看这些方法会告诉你这些方法是如何工作的。