使用 'subsetrows' 和 'subsetvars' 方法时八度音程中的 tablicious 包访问错误

Access error in tablicious package in octave when using 'subsetrows' and 'subsetvars' methods

我正在使用 'Tablicious' 包在八度音程中创建 tables。 Table 创建良好,但是当我尝试使用 'subsetrows' 或 'subsetvars' 过滤行或列时,出现访问错误。

pkg load tablicious

# Data
Table = {'Length', 'Force', 'Max_force'};
Length = [100; 125; 160; 200; 250; 315; 400; 500; 630; 720; 800; 1000];
Force = [250; 300; 300; 350; 400; 400; 400; 400; 400; 400; 400; 400];
Max_force = [500; 600; 600; 700; 800; 800; 1000; 1000; 1000; 1000; 1000; 1000];

# Create table
tab = table(Length, Force, Max_force);
prettyprint ( subsetrows(tab, : ) )

这是我遇到的错误

error: : method 'subsetrows' has private access and cannot be run in this context
error: called from
    Tablicious_table_practice at line 12 column 1

如何像 SQL 那样过滤我的 table 数据?

好像subsetrows是私有变量。它的作用是在内部为 table.

实现 'subsetting' 操作

这意味着您可以使用普通索引/下标/范围,就像在普通数组中一样:

octave:10> prettyprint ( tab(:,:) )
------------------------------
| Length | Force | Max_force |
------------------------------
| 100    | 250   | 500       |
| 125    | 300   | 600       |
| 160    | 300   | 600       |
| 200    | 350   | 700       |
| 250    | 400   | 800       |
| 315    | 400   | 800       |
| 400    | 400   | 1000      |
| 500    | 400   | 1000      |
| 630    | 400   | 1000      |
| 720    | 400   | 1000      |
| 800    | 400   | 1000      |
| 1000   | 400   | 1000      |
------------------------------

octave:11> prettyprint ( tab(3:6, :) )
------------------------------
| Length | Force | Max_force |
------------------------------
| 160    | 300   | 600       |
| 200    | 350   | 700       |
| 250    | 400   | 800       |
| 315    | 400   | 800       |
------------------------------

octave:12> prettyprint ( tab(3:6, {'Max_force', 'Length'} ) )
----------------------
| Max_force | Length |
----------------------
| 600       | 160    |
| 700       | 200    |
| 800       | 250    |
| 800       | 315    |
----------------------