查找名称需要来自另一列的字符串的列我尝试使用名为“Freq”的列中的值并查找另一列。我收到错误“无效行”
我正在寻找的列可用。Freq 列是数字。这是问题所在吗?
例如,Freq 列某一行的值为 200,那么我在 IDynatTsense__200__65 中查找该值。
代码:
HashFreqval =列( “频率” ) ;
IDyn =列( “IDynatTsense__” ||HashFreqval[]|| “__65” );
错误:

基础数据分析与建模回复:查找名称需要来自另一列的字符串的列column[]返回当前row()的值。
row()的默认值为 0,要访问第 1 行的值,只需通过row()=1调整指针;
New Table( "test",
Add Rows( 1 ),
New Column( "Freq",
Character,
Set Values( {"200"} )
),
New Column( "IDynatTsense__200__65",
Set Values( [20] )
)
);
HashFreqval = Column( "Freq" );
row()=1;
IDyn = Column( "IDynatTsense__"||HashFreqval[]|| "__65" );回复:查找名称需要来自另一列的字符串的列错误是由 hogi 所写的内容引起的,column()[](与 column()[row()] 相同)正在寻找当前行的值,该值在 JMP 中默认为 0,这是无效的行号(您可以从Iterate on Rows in a Table (jmp.com) 中了解相关信息)。
您如何使用此代码?这很可能不是您使用的全部代码?您正在查找“Freq”的值,但查找哪一行,并且您可能正在循环它们?您是想从IDynatTsense__200__65(哪一行?)获取值,还是仅获取引用?
回复:查找名称需要来自另一列的字符串的列也许我的问题不太清楚。我附上一个简单的例子
根据 HashFreq 列中的值,我需要从 Idyn_ 200 _65 或 Idyn_ 400 _65 列中选择数据。
一旦我能获得这些数据,我就可以使用公式进行进一步计算。
Names Default To Here( 1 );
dt1 = Open( "TestDataJunk.jmp" );
HashFreqval = Column( "HashFreq" );
IDyn = Column( "IDynatTsense__"||HashFreqval[]|| "__65" );
dt1 << New Column( "NewVal", Numeric, Continuous, Formula( IDyn[] ));
感谢您的帮助!
回复:查找名称需要来自另一列的字符串的列如果你的数据非常复杂,并且不需要公式,我很可能只使用 For Each Row
Names Default To Here(1);
dt = Open("$DOWNLOADS/TestDataJunk.jmp");
dt << New Column("NewVal2", Numeric, Continuous);
For Each Row(dt,
val = Column(dt, "HashFreq")[Row()];
val_col = Eval Insert("Idyn_^val^_65");
Column(dt, "NewVal2")[Row()] = Column(dt, val_col)[Row()];
);