大家好,
我想在“Sample_ID”列中选择字符串以“452”结尾的某些行,并创建一个包含这些行的子集。 我尝试像下面那样做,但没有用
名称默认为 Here(1);
清除日志();
清除符号();
全部关闭(数据表,NoSave);
全部关闭(期刊,NoSave);
//选择数据表1
dt1_dir = Pick Directory("选择数据表1的目录");
dt1_Name = 选择文件(
"选择数据文件 1",
dt1_dir,
{"JMP 文件|jmp;jsl;jrn", "所有文件|*"},
1、
0,
0
);
显示(dt1_Name); // 在日志中显示 dt1_Name 字符串
dt1=打开(dt1_Name); // 将 dt1 从字符串 dt1_Name 重新分配给数据表
显示(DT1); // 在日志中显示数据表 dt1 以进行检查
//选择数据表2
dt2_dir = Pick Directory("选择数据表2的目录");
dt2_Name = 选择文件(
"选择数据文件 2",
dt2_dir,
{"JMP 文件|jmp;jsl;jrn", "所有文件|*"},
1、
0,
0
);
显示(dt2_Name);
dt2=打开(dt2_Name);
显示(DT2);
//连接两个表,concat_dt是输出表
concat_dt = dt1 << 连接(dt2,
输出表(“连接数据表”),
创建源列
);
显示(concat_dt); //在日志中显示concat_dt数据表
关闭(dt1,NoSave);
关闭(dt2,NoSave); //关闭dt1和dt2
//从 concat_dt 中选择特定的 sample_ID 并从中提取子集
prep_dt = concat_dt << Subset(Row(
concat_dt << 获取行 where(Regex(:Sample_ID, "71MT052800452") == :Sample_ID)),
仅选定的列(0),
);
关闭(concat_dt); // 关闭 concat_dt
试试这个为你的行选择
Row( concat_dt << get rows where( Right( :Sample_ID, 3 ) == "452" ) ),
似乎无法找到名为“concat data table”的数据表。
在指定数据表功能之前,请确保已创建表。
如果您提供了输入数据表的示例,这也会很有用。