从Excel中读取特定数据<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我对 JMP 脚本编写有点陌生。 因此,如果有人能帮助我完成这个基本的脚本步骤,我将非常感激。
我想读取上述数据如下:
读取实验室 A(或实验室 B)的测试 1(或测试 2)数据,并将其采用以下格式作为示例:
实验室 A 测试 1 的数据 = [2, 3, 4, 2, 1]
实验室 A 测试 2 的数据 = [1, 3, 2, 4, 6]
等等。
是否可以在脚本窗口本身中显示上述数据,以便我可以编写更多脚本来分析数据(如平均值、标准差等)?
预先非常感谢您。
回复:从Excel中读取特定数据因此,需要明确的是,从 Excel 获取数据没有问题。 也就是说,它已经在 JMP 数据表中,对吗? 如果没有,请考虑像访问数据库一样访问工作簿,并使用 SQL 查询来隔离所需的数据组。
如果数据已经在 JMP 中并按顶部所示排列,那么为什么可以使用制表来获得每组所需的结果?
回复:从Excel中读取特定数据到目前为止,这还不是最佳实践。 通常将其与更多文件一起使用可能会质疑稳健性。
如果您需要多次重复此操作,请帮自己一个忙,获取一本书的副本:“Jump into jmp scripting”。 大多数学术图书馆都有它。
否则试试这个。
名称默认为此处( 1 ) ;
// 定义数据源
dt =当前数据表() ;
//堆叠数据,以便所有测试都在一列中
数据栈= dt <<堆(
列( :测试1 , :测试2 ) , // 添加所有测试列
源标签列( “标签” ) ,
堆叠数据列( “数据” )
) ;
// 获取 Lab 的唯一值
实验室=关联数组(数据栈:实验室) <<获取钥匙;
// 获取测试的唯一值
测试=关联数组(数据栈:标签) <<获取钥匙;
// 定义结果表
dt1 =新表( “结果” ,
新专栏( “实验室” ,特点,名义上的) ,
新专栏( “测试” ,特点,名义上的) ,
新专栏( “意思是” ) ,
新专栏( “标清” ) ,
) ;
// 循环遍历堆栈数据表中的实验和测试以提取结果。
为了(我= 1 ,我<= N 项(实验室) ,我++,
为了(它= 1 ,它<= N 项(测试) ,它++,
实验室测试行=数据栈<<获取行,其中(和(数据栈:实验室==实验室[我] ,数据栈:标签==测试[它] ) ) ;
dt1 <<添加行( 1 ) ;
dt1 :实验室[ N 行( dt1 )] =实验室[我] ;
dt1 :测试[ N 行( dt1 )] =测试[它] ;
dt1 :意思是[ N 行( dt1 )] =平均实验室测试1 =意思是(数据栈:数据[实验室测试行] ) ;
dt1 :标清[ N 行( dt1 )] = SD实验室测试1 =标准差(数据栈:数据[实验室测试行] ) ;
)
) ;
// 关闭结果表并另存为excel
关闭( dt1 ,节省( “D:\我的文档\结果.xlsx” ) ) ;
回复:从Excel中读取特定数据嗨罗恩,
太感谢了。 这正是我一直在寻找的。
还有一个问题,我可以创建一个循环来计算实验室 A/实验室 B 以及测试 1/测试 2 的结果吗? 在 Matlab 中很容易做到这一点,但正如我所说,我仍在学习在 JMP 中编写脚本。 另外,如果可能的话,将最终结果保存或导出到 Excel 中会很好。
再次感谢您的帮助。
回复:从Excel中读取特定数据你好拉詹比斯塔1 ,
Jim 是对的,使用 jmp 中的内置平台来生成结果要好得多。
否则,这是另一种选择。
名称默认为此处( 1 ) ;
dt =当前数据表() ;
// 比选择更稳健
实验室箭= dt <<获取行,其中( dt :实验室== “A” ) ;
实验室眉毛= dt <<获取行,其中( dt :实验室== “B” ) ;
展示(实验室箭,实验室眉毛) ;
// 获取每个测试的实验室 A 的值
实验室 A 测试 1 的数据= :测试1 [实验室箭] ;
实验室 A 测试 2 的数据= :测试2 [实验室箭] ;
展示(实验室 A 测试 2 的数据,实验室 A 测试 1 的数据) ;
// 提取所需的值并给出稍后使用的名称
MeanlabAtest1 =意思是(实验室 A 测试 1 的数据) ;
SDlabAtest1 =标准差(实验室 A 测试 1 的数据) ;
MeanlabAtest2 =意思是(实验室 A 测试 2 的数据) ;
SDlabAtest2 =标准差(实验室 A 测试 2 的数据) ;
// 只是为了显示日志中的数字。
展示( MeanlabAtest1 , SDlabAtest1 , MeanlabAtest2 , SDlabAtest2 ) ;
回复:从Excel中读取特定数据这是一个脚本,它获取您的数据表,并生成您在问题中指定的 2 个变量。
名称默认为此处( 1 ) ;
dt =当前数据表() ;
dt <<选择地点( :实验室== “A” ) ;
实验室 A 测试 1 的数据= :测试 1[dt <<获取选定的行] ;
实验室 A 测试 2 的数据= :测试 2[dt <<获取选定的行] ;
展示(实验室 A 测试 1 的数据,实验室 A 测试 2 的数据) ;
我很好奇的是你关于将上述数据放入脚本窗口的问题。我不确定你要去哪里?虽然您当然可以在 JMP 中编写脚本,就像在 R 或 Python 中必须做的那样,但在 JMP 中进行大多数分析要简单得多,只需使用交互式项目。您提到您想将数据放入脚本中,以便可以分析数据,例如平均值、标准偏差等。使用制表或分布平台获取此类结果,您只需指定要分析的列似乎就是您想要的确实应该做。

