Dataframe Julia:创建数据帧子集的函数时分配位置无效

Dataframe Julia:创建数据帧子集的函数时分配位置无效,dataframe,julia,subset,Dataframe,Julia,Subset,我正在Julia中创建一个函数。它将一个数据帧(称为窗口)和两个字符串(a和B)作为输入,并使用给定的变量对其进行子集化: function calcs(window, A, B): fAB=size(window[(window[:ref].==A).&(window[:alt].==B),:])[1] end 但我得到了一个错误: syntax: invalid assignment location ":fAB" Stacktrace: [1] include_st

我正在Julia中创建一个函数。它将一个数据帧(称为窗口)和两个字符串(a和B)作为输入,并使用给定的变量对其进行子集化:

function calcs(window, A, B):
     fAB=size(window[(window[:ref].==A).&(window[:alt].==B),:])[1]
end
但我得到了一个错误:

syntax: invalid assignment location ":fAB"

Stacktrace:
 [1] include_string(::String, ::String) at ./loading.jl:522
我尝试在函数之外运行代码(预先分配了变量
a=“T”
B=“C”
,如下所示:

fAB=size(window[(window[:ref].==A).&(window[:alt].==B),:])[1]

这很好。我是Julia的新手,但找不到这个问题的答案。有人能帮我吗?

似乎你来自Python世界。在Julia中,你不需要在函数定义中添加
。这很好:

function calcs(window, A, B)
     fAB=size(window[(window[:ref].==A).&(window[:alt].==B),:])[1]
end
当Julia在函数定义的第一行遇到
时,它会继续解析下一行中的表达式,生成
:fAB
符号

编辑:在Julia 0.7中,解析器检测到此问题。这是将原始代码复制粘贴到REPL的结果:

julia> function calcs(window, A, B):
            fAB=size(window[(window[:ref].==A).&(window[:alt].==B),:])[1]
ERROR: syntax: space not allowed after ":" used for quoting

julia> end
ERROR: syntax: unexpected "end"

似乎您来自Python世界。在Julia中,您不需要在函数定义中添加
。这将很好:

function calcs(window, A, B)
     fAB=size(window[(window[:ref].==A).&(window[:alt].==B),:])[1]
end
当Julia在函数定义的第一行遇到
时,它会继续解析下一行中的表达式,生成
:fAB
符号

编辑:在Julia 0.7中,解析器检测到此问题。这是将原始代码复制粘贴到REPL的结果:

julia> function calcs(window, A, B):
            fAB=size(window[(window[:ref].==A).&(window[:alt].==B),:])[1]
ERROR: syntax: space not allowed after ":" used for quoting

julia> end
ERROR: syntax: unexpected "end"