注:一般不以大写字母,因为这些可能内部职责相冲突的启动用户创建的符号名。
我不清楚你希望如何转换输出。一种解释是,你只是想:
{166302, 333668, 332964, 167066}
在你的代码使用[[2, 1]]
,所以我想你知道如何使用Part
,这是其中的简写形式。对于Part
文档包括:
如果任何列表我是All
或;;
的,在该级别的所有部件保持。
你可以因此使用:
Tally[list][[All, 2]]
您还可以使用:
Last /@ Tally[list]
由于george评论,你可以使用Sort
,这是由于Tally
数据结构将首先按项目排序,因为它首先出现在每个列表中,并且每个列表具有相同的文件NGTH。
tally =
{{{"b","b"},166302},{{"b","a"},333668},{{"a","b"},332964},{{"a","a"},167066}};
Sort[tally][[All, 2]]
{167066, 332964, 333668, 166302}
您也可以将您的数据转换为Rule
对象的列表,然后从预定列表中提取值:
rules = Rule @@@ tally
{{"b", "b"} -> 166302, {"b", "a"} -> 333668, {"a", "b"} -> 332964, {"a", "a"} -> 167066}
这些可以在任何地方为了您选择:
{{"a", "a"}, {"a", "b"}, {"b", "a"}, {"b", "b"}} /. rules
{167066, 332964, 333668, 166302}
只是为了说明另一种技术,如果你有你想指望你会发现在这个Sow
和Reap
构建价值项目的具体名单。例如,与"a", "b", "c", "d"
随机列表:
SeedRandom[1];
dat = RandomChoice[{"a", "b", "c", "d"}, 50];
计数的"a"
和"c"
元素:
Reap[Sow[1, dat], {"a", "c"}, Tr[#2] &][[2, All, 1]]
{19, 5}
这是不一样快Tally
但它的速度比为每个元素做一个Count
,有时候这个语法很有用。
你是什么意思?当然输出显示每个出现的次数,可能是你的“频率”。你想用这些数据做什么? – 2013-05-11 09:34:16
是的输出显示了每一对的频率,但我需要把每对(a,b)等的总数和使用他们的情节/图等,当我必须手动输入“166302”等我需要时以绘制哪些是缓慢和乏味的... – user2372443 2013-05-11 09:38:53
我添加了答案。这是你想要的还是其他的东西? – 2013-05-11 09:46:58