小编Dan*_*ler的帖子

合并期间在Git中集成缩进和内容更改:最佳实践?

我正在使用Git来跟踪一些matlab代码.最好的玩具示例说明了这个问题.到目前为止,该项目看起来像这样.

    C
   /
A--
   \
    B
Run Code Online (Sandbox Code Playgroud)

A的内容是 x=5

我们创建提交C,其中行被更改为 x=6

然后我们进行提交B,其中我们的内容如下所示

if flag==1
    x=5
end
Run Code Online (Sandbox Code Playgroud)

如果我们尝试合并项目的目标看起来像

    C
   / \
A--   D
   \ /
    B
Run Code Online (Sandbox Code Playgroud)

合并结果在D中,我们会发生冲突,因为主线在两者中都有变化(在B中添加缩进,在C中变为6).

是否有最佳实践方法来集成来自一个分支的缩进更改,以及来自另一个分支的内容更改,以获得合并结果?

我在/sf/answers/368373141/上读过一个策略,虽然这样可以避免冲突,但它会丢弃缩进以支持内容更改(这是一个改进,但仍然使为了更难阅读代码).

我想我可以在编写代码时吮吸它而不是更改缩进.这使得它的可读性降低,但在matlab中并不是一件大事.然而,在python中,缩进真的很重要,那么python人们如何处理呢?如果有大块代码我们后来改变为控制结构内部,那么这会变得更加丑陋,因此差异触及许多行并使合并冲突成为一个巨大的麻烦.

是否有合并策略分别处理间距更改和内容更改,然后集成它们?我想要合并的结果

if flag==1
    x=6
end
Run Code Online (Sandbox Code Playgroud)

python git merge matlab indentation

10
推荐指数
1
解决办法
1059
查看次数

将相关的嵌套列表元素向量组合到矩阵中

我有一个列表,其中每个列表元素本身包含具有多个名称对象的另一个列表.这些命名对象中的每一个都是相同长度的向量.我的目标是通过连接向量有效地将相关对象(同名对象)组合成矩阵.

这是我正在使用的结构类型的一个例子.但是,在当前的应用程序中,它来自mclapply,因为它是一个并行化的多级模型,我认为没有办法获得列表列表.

> test=lapply(1:2,function(x){out = list(); out$t=rnorm(3)+x; out$p =rnorm(3)+ x+.1; return(out)})
> test
[[1]]
[[1]]$t
[1] 0.5950165 0.8827352 0.5614947

[[1]]$p
[1] 2.6144102 1.9688743 0.6241944


[[2]]
[[2]]$t
[1] 2.562030 1.832571 3.018756

[[2]]$p
[1] 1.7431969 0.5305784 2.6935106
Run Code Online (Sandbox Code Playgroud)

这是实现我想要的原始方式

> t.matrix = cbind(test[[1]]$t,test[[2]]$t)
> t.matrix
           [,1]     [,2]
[1,]  2.2094525 2.634907
[2,] -0.2822453 2.440666
[3,]  1.1704518 2.483424
Run Code Online (Sandbox Code Playgroud)

但我希望能够为很长的列表(大约100万个元素)做到这一点,而我目前的解决方案并没有扩展.

我想我可以使用for循环,但似乎必须有一个更好的方法来巧妙地使用reduce或unlist或sapply或类似的东西.

r list

4
推荐指数
1
解决办法
2632
查看次数

如何在显示非常大的数组时挂断MATLAB IDE?

假设我正在使用MATLAB IDE并且碰巧在我的工作空间中有一些非常大的对象(例如500k +元素的数组).现在,假设我愚蠢地偶然双击其中一个非常大的变量,这会触发对数组编辑器的加载.不幸的是,对于这么大的数组,MATLAB只是挂起.

我尝试过CTRL + C,CTRL + BREAK,CTRL + D,但似乎没有人能够中断IDE的行为.我知道我可以强制matlab退出,但是首先将所有这些变量读入工作区需要花费很多时间,而且我可能在编辑器窗口中有未保存的更改等.

ide matlab hang

2
推荐指数
1
解决办法
2653
查看次数

在R中使用相同的设计矩阵拟合许多线性模型

对于神经影像应用,我试图通过R(标准调用lm)中的最小二乘拟合许多线性模型.想象一下,我有一个设计矩阵X.这个设计矩阵在所有模型中都是相同的.正在拟合的数据(Y)将改变,因此所有拟合参数(例如,beta,p值,残差等)也将改变.

目前,我只是将它放在for循环中,因此它正在进行数十万次调用lm.似乎必须有一个更好的方法.

我相信计算成本最高的部分是矩阵求逆.看起来这是通过lm.fit中的Fortran调用来处理的.

如果我手工做这个回归,我会进行矩阵求逆,然后将它乘以各种数据集.事实上,当我有一个表现良好的设计矩阵(例如所有连续值的协变量)时,我编写了一个函数来做到这一点.但是,我真的很喜欢所有的工作lm,比如适当地重新编码我的因素等,输出lm也非常好.

无论如何还有我的蛋糕和吃它?也就是说,为了获得lm的友好性,但是使用这种能力来计算有效地拟合具有相同设计矩阵的许多模型?

parallel-processing regression r mlm

2
推荐指数
3
解决办法
2198
查看次数

了解&&运算符何时短路

也许我错过了一些明显的东西.

在R中,TRUE && NAevalues到NA.这对我来说没有意义,因为&&应该从左到右进行评估,并在其中一个条件成立时立即停止.

r short-circuiting

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