我想了解这个脚本是如何运作的:
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剧本!)
提前致谢。
答案 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包的附加功能。看看这些方法会告诉你这些方法是如何工作的。