小编jdo*_*res的帖子

R的assign()函数何时适用?

我经常看到新手R程序员的问题,他们习惯于assign创建多个对象,然后在尝试为后续任务操作这些对象时遇到麻烦(最近的一个例子).

assign吸引新手用户,因为它具有动态属性(以编程方式创建变量名称,除了变量的值),并且似乎模仿了全局赋值的一些属性.它的直接名称也使它可能出现在各种问题类型的搜索中.

当然,更有经验的R程序员开始意识到assign创建难以阅读的代码,易于维护的代码,以及通过在高功能R语言中坚决避免的副作用类型的行为.

我在SO最初使用的所有问题上看到的每个问题assign最终在正确使用命名向量,列表或数据帧方面有更好的选择.生成的代码更易于遵循,更易于更改,并且通常性能更高.

所有这一切都是说,很容易找到为什么assign不好的例子.我的问题是:在什么情况下使用assign适当的,首选的或唯一的解决方案

r

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

如何保持数据文件中相关图标签的顺序相同?

在相关图中,如何在不重新排列的情况下保持标签与数据文件中的顺序相同?CR图

这是我一直在使用的脚本;

library(corrplot) 
library(RColorBrewer) 
library(Hmisc) 

CORR <- df 
M <- cor(CORE) 
pM <- rcorr(M) 
corrplot(pM$r, 
    type="upper", 
    order="hclust", 
    tl.cex = 0.5, 
    col=colorRampPalette(c("blue4", "white", "firebrick1"))(100), 
    p.mat = pM$P, 
    sig.level = 0.05, 
insig = "blank"
)
Run Code Online (Sandbox Code Playgroud)

样本数据

df <- structure(list(Cytosol_1 = c(2.8, 0.31, 1.21, 1.84, 0.93, 2.71, 2.03, 0.93, 0.89, 0.4, 0.32, 1.8, 1.16, 0.39, 1.16, 0.76, 1.17, 0.95, 0.58, 2.68, 0.88, 0.59, 1.49, 0.48, 0.51, 1.04, 0.89, 3.48, 1.47), Cytosol_2 = c(1.61, 0.22, 1.42, 1.97, 0.88, 1.46, 1.43, 0.74, 0.72, 0.43, 0.51, …
Run Code Online (Sandbox Code Playgroud)

r correlation

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

标签 统计

r ×2

correlation ×1