【发布时间】:2020-10-01 05:03:03
【问题描述】:
我想使用以下规则创建一个函数来返回 n-value 的类型(n-value 是数据框的第 6 列):
# n-value types
missing : NA
n > 0.05 : 'n.s.'
0.05 >= n > 0.01 : '*'
0.01 >= n > 0.001 : '**'
0.001 >= n > 0.0001 : '***'
0.0001 >= n : '****'
第一行数据如下:
n.name bMean log2FoldChange lfcSE stat pn padj
<fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
469 TNFRSF1B 542.82545 -3.406411 0.2267235 -15.024517 5.07e-51 3.25e-48
我尝试了以下方法:
c.1 <- function(x){
breaks <- c(0, 0.0001, 0.001, 0.01, 0.05, 1)
stars <- c("****", "***", "**", "*", "n.s.")
bins <- cut(x, breaks = breaks, labels = stars, include.lowest = TRUE)
bins <- as.character(bins)
list(p = x, stars = bins)
}
tab.1<-table(c.1(nav$pvalue))
apply(tab.1, 2, sum)
我几乎得到了我想要的:
*: 24 **:102 ***: 15 ****": 45 n.s.: 32
我有一些 NA 而不是数字,但我没有在输出中得到它们,所以我尝试了:
a1<-as.numeric("NA")
c.1 <- function(x){
breaks <- c(0, 0.0001, 0.001, 0.01, 0.05, 1, a1)
stars <- c("****", "***", "**", "*", "n.s.", "NA")
bins <- cut(x, breaks = breaks, labels = stars, include.lowest = FALSE)
bins <- as.character(bins)
list(p = x, stars = bins)
}
tab.1<-table(c.1(nav$pvalue))
apply(tab.1, 2, sum)
我收到一个错误,我怎样才能让 NA 计数包含在输出中?
【问题讨论】: