Dataframe Julia:创建数据帧子集的函数时分配位置无效
我正在Julia中创建一个函数。它将一个数据帧(称为窗口)和两个字符串(a和B)作为输入,并使用给定的变量对其进行子集化: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
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"