Julia中有名字()等价吗?

时间:2018-06-06 18:14:50

标签: r julia

我将用R编写的脚本转移到Julia,其中一个R函数是names()函数。朱莉娅有同义词吗?

2 个答案:

答案 0 :(得分:4)

DataFrames

在Julia中,DataFrame的{​​{1}}函数返回列名,例如:

julia> using DataFrames

julia> x = DataFrame(rand(3,4))
3×4 DataFrames.DataFrame
│ Row │ x1        │ x2       │ x3       │ x4       │
├─────┼───────────┼──────────┼──────────┼──────────┤
│ 1   │ 0.721198  │ 0.605882 │ 0.191941 │ 0.597295 │
│ 2   │ 0.0537836 │ 0.619698 │ 0.764937 │ 0.273197 │
│ 3   │ 0.679952  │ 0.899523 │ 0.206124 │ 0.928319 │

julia> names(x)
4-element Array{Symbol,1}:
 :x1
 :x2
 :x3
 :x4

然后,为了设置DataFrame的列名,您可以使用names!函数(示例续):

julia> names!(x, [:a,:b,:c,:d])
3×4 DataFrames.DataFrame
│ Row │ a         │ b        │ c        │ d        │
├─────┼───────────┼──────────┼──────────┼──────────┤
│ 1   │ 0.721198  │ 0.605882 │ 0.191941 │ 0.597295 │
│ 2   │ 0.0537836 │ 0.619698 │ 0.764937 │ 0.273197 │
│ 3   │ 0.679952  │ 0.899523 │ 0.206124 │ 0.928319 │

阵列

标准数组不支持命名其维度。但是您可以使用添加此功能的enter image description here包。您可以获取和设置维度的名称以及每个维度的索引名称。您可以在NamedArrays.jl找到详细信息。

答案 1 :(得分:1)

我不是R专家,但我认为你想要type Foo bar::Int end @show fieldnames(Foo) baz = Foo(2) @show fieldnames(baz)

import re

my_string = "AAAA xsdfe123 BBBB 1jhfhfs CCCC 13 AAAA hjhj 300 DDDD hfh3 BBBB 14 x"

my_dict = {}
my_list = re.findall("[A-Z]+[^A-Z]+", my_string)
for item in my_list:
    item = item.strip()
    key = re.sub(" .*", "", item)
    value = re.sub("^[A-Z]+\s+", "", item)
    if key in my_dict:
        my_dict[key] = my_dict[key] + [value]
    else:
        my_dict[key] = [value]

print(my_dict)