Syl*_*uez 1 r substitution dataframe p-value
我有一个data.frame dfP与一列Spearman_p包含的p值(数字数据)。我想用它们代替p值摘要星号。我使用以下代码:
dfP$Spearman_p[dfP$Spearman_p < 0.0001] <- "****"
dfP$Spearman_p[dfP$Spearman_p < 0.001] <- "***"
dfP$Spearman_p[dfP$Spearman_p < 0.01] <- "**"
dfP$Spearman_p[dfP$Spearman_p < 0.05] <- "*"
dfP$Spearman_p[dfP$Spearman_p > 0.05] <- "ns"
Run Code Online (Sandbox Code Playgroud)
但是,这会将所有 <0.05的p值(<0.01的那些)也更改为*(一星)。
我怀疑R在后续步骤中将****视为数字<0.05。那是对的吗?如果是这样,请问我该如何规避?
谢谢。
尝试使用以下功能。一次性更改整个向量。
makeStars <- function(x){
stars <- c("****", "***", "**", "*", "ns")
vec <- c(0, 0.0001, 0.001, 0.01, 0.05, 1)
i <- findInterval(x, vec)
stars[i]
}
dfP$Spearman_p <- makeStars(dfP$Spearman_p)
Run Code Online (Sandbox Code Playgroud)
但是,如果创建一个新向量,可能会更好。
dfP$Spearman_p_stars <- makeStars(dfP$Spearman_p)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |