上述数据表示某问卷中五个问题的(q1
,q2
,…,q5
)的答案。 首先,选取数据集中的一些列。 照例使用 Symbol
指定列:
select(responses(), :id, :q1)
id | q1 |
---|---|
1 | 28 |
2 | 61 |
也可以使用字符串:
select(responses(), "id", "q1", "q2")
id | q1 | q2 |
---|---|---|
1 | 28 | us |
2 | 61 | fr |
如果要选取除了 某些列外的所有列,请使用 Not
:
也适用于多列:
id | q1 | q2 | q3 |
---|---|---|---|
1 | 28 | us | F |
2 | 61 | fr | B |
select(responses(), :q5, Not(:id))
q5 | q1 | q2 | q3 | q4 |
---|---|---|---|---|
A | 28 | us | F | B |
E | 61 | fr | B | C |
注意,q5
是 select
返回的 DataFrame
的第一列。 要实现如上的操作,更聪明的做法是使用 :
。 冒号 :
可以认为是 前述条件尚未包含的所有列。 例如:
或者,把 q5
放在第二个位置16:
select(responses(), 1, :q5, :)
id | q5 | q1 | q2 | q3 | q4 |
---|---|---|---|---|---|
1 | A | 28 | us | F | B |
2 | E | 61 | fr | B | C |
甚至可以使用 select
重命名列,语法是 source => target
:
participant | age | nationality |
---|---|---|
1 | 28 | us |
2 | 61 | fr |
另外,还可以使用 “splat” 算符 ...
(请查阅 Section ) 写作如下形式: