小编Edd*_*Edd的帖子

按行有效地应用或映射多个矩阵参数

我有两个矩阵,我想按行应用函数:

matrixA
           GSM83009  GSM83037  GSM83002  GSM83029  GSM83041
100001_at  5.873321  5.416164  3.512227  6.064150  3.713696
100005_at  5.807870  6.810829  6.105804  6.644000  6.142413
100006_at  2.757023  4.144046  1.622930  1.831877  3.694880

matrixB
          GSM82939 GSM82940 GSM82974 GSM82975
100001_at 3.673556 2.372952 3.228049 3.555816
100005_at 6.916954 6.909533 6.928252 7.003377
100006_at 4.277985 4.856986 3.670161 4.075533
Run Code Online (Sandbox Code Playgroud)

我发现了几个类似的问题,但没有很多答案:mapply for matrices,Multi matrix row-wise mapply?.我现在的代码已经按行将矩阵拆分成列表,但是必须拆分它会使它相当慢并且不比for循环快得多,因为我在每个矩阵中有近9000行:

scores <- mapply(t.test.stat, split(matrixA, row(matrixA)), split(matrixB, row(matrixB)))
Run Code Online (Sandbox Code Playgroud)

函数本身非常简单,只需找到t值:

t.test.stat <- function(x, y)
{
    return( (mean(x) - mean(y)) / sqrt(var(x)/length(x) + var(y)/length(y)) )
}
Run Code Online (Sandbox Code Playgroud)

r

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

具有反向ManytoMany字段的ModelForm

我无法让ModelMultipleChoiceField显示模型实例的初始值.我一直无法找到有关该领域的任何文档,我一直在阅读的例子太令人困惑了. Django:ModelMultipleChoiceField没有选择初始选择似乎是相似的,但是那里给出的解决方案对模型实例来说不是动态的.

这是我的情况(每个数据库用户连接到一个或多个项目):

models.py

from django.contrib.auth.models import User
class Project(Model):
    users = ManyToManyField(User, related_name='projects', blank=True)
Run Code Online (Sandbox Code Playgroud)

forms.py

from django.contrib.admin.widgets import FilteredSelectMultiple
class AssignProjectForm(ModelForm):
    class Meta:
        model = User
        fields = ('projects',)

    projects = ModelMultipleChoiceField(
        queryset=Project.objects.all(),
        required=False,
        widget=FilteredSelectMultiple('projects', False),
    )
Run Code Online (Sandbox Code Playgroud)

views.py

def assign(request):
    if request.method == 'POST':
        form = AssignProjectForm(request.POST, instance=request.user)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/index/')
    else:
        form = AssignProjectForm(instance=request.user)

    return render_to_response('assign.html', {'form': form})
Run Code Online (Sandbox Code Playgroud)

它返回的表单不是选择实例的链接项目(它看起来像:Django多选小部件?).此外,它不会使用保存表单时所做的任何选择来更新用户.

编辑:使用此方法管理解决此问题:http://code-blasphemies.blogspot.com/2009/04/dynamically-created-modelmultiplechoice.html

python django django-models

6
推荐指数
2
解决办法
3094
查看次数

具有唯一名称的所有矢量值的平均值

我有一个很大的非唯一命名值列表,即:

tscores
        11461         11461         11461         11461         14433
-1.966196e+01  7.808853e-01  2.065178e+01  5.630565e+00 -7.295436e+00
        14433         14433         14433         14433         14433
 2.036339e+00 -6.704906e+00  1.603803e+00 -1.118324e+01  1.450554e+00
        14102         16153         16189         18563         18563
-1.137429e+01  7.053336e-02  1.011208e+00 -7.811194e+00 -6.749376e-01
        18563         18563         22042         22042         22042
 7.480217e-01 -9.909211e-01 -9.577424e-01 -7.887699e-02 -4.867706e-01
Run Code Online (Sandbox Code Playgroud)

我希望能够更有效地提取与名称对应的所有值的子向量.目前,我正在使用:

u_tscores <- sapply(unique(names(tscores)), function(name, scores) {mean(scores[names(scores)==name])}, scores=tscores)
Run Code Online (Sandbox Code Playgroud)

这对我需要的东西来说太慢了.我知道必须有一种更简单的方法来获得具有相同名称的所有值.

r

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

标签 统计

r ×2

django ×1

django-models ×1

python ×1