cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-785508%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%88%97%E5%AD%97%E5%85%83%E5%8C%B9%E9%85%8D%E5%85%AC%E5%BC%8F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-785508%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%A4%A7%E5%AE%B6%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3E%E6%88%91%E6%9C%89%E4%B8%80%E5%80%8B%E5%8C%85%E5%90%AB%202%20%E5%88%97%E7%9A%84%E8%B3%87%E6%96%99%E9%9B%86%EF%BC%8C%E6%88%91%E5%8F%AA%E6%98%AF%E6%83%B3%E6%AA%A2%E6%9F%A5%E7%AC%AC%201%20%E5%88%97%E4%B8%AD%E7%9A%84%E8%B3%87%E6%96%99%E6%98%AF%E5%90%A6%E8%88%87%E7%AC%AC%202%20%E5%88%97%E5%8C%B9%E9%85%8D%EF%BC%8C%E5%AE%83%E4%B8%8D%E5%BF%85%E9%80%90%E8%A1%8C%E5%8C%B9%E9%85%8D%E3%80%82%E6%88%91%E6%84%9F%E8%88%88%E8%B6%A3%E7%9A%84%E5%8F%AA%E6%98%AF%E6%AA%A2%E6%9F%A5%E6%88%91%E5%80%91%E6%98%AF%E5%90%A6%E6%9C%89%E7%9B%B8%E5%90%8C%E7%9A%84%E8%A7%80%E5%AF%9F%E7%B5%90%E6%9E%9C%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%B8%8D%E9%97%9C%E5%BF%83%E7%9A%84%E8%A9%B1%EF%BC%8C%E5%AE%83%E5%80%91%E5%9C%A8%E5%85%A9%E5%88%97%E4%B8%AD%E7%9A%84%E9%A0%86%E5%BA%8F%E3%80%82%3C%2FP%3E%3CP%3E%E6%9C%89%E4%BA%BA%E5%8F%AF%E4%BB%A5%E5%B9%AB%E6%88%91%E6%8F%90%E4%BE%9B%E4%B8%80%E5%80%8B%E7%94%A8%E6%96%BC%E6%AA%A2%E6%9F%A5%E9%80%99%E5%80%8B%E7%9A%84%E5%85%AC%E5%BC%8F%E5%97%8E%EF%BC%9F%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3E%E6%84%9F%E8%AC%9D%3C%2FP%3E%3CP%3E%E8%82%96%E6%81%A9%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-785508%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3E%E5%9F%BA%E7%A4%8E%E8%B3%87%E6%96%99%E5%88%86%E6%9E%90%E8%88%87%E5%BB%BA%E6%A8%A1%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E5%85%A7%E5%AE%B9%E7%B5%84%E7%B9%94%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-785555%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E5%88%97%E5%AD%97%E5%85%83%E5%8C%B9%E9%85%8D%E5%85%AC%E5%BC%8F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-785555%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E9%80%99%E6%98%AF%E5%9F%B7%E8%A1%8C%E6%AD%A4%E6%93%8D%E4%BD%9C%E7%9A%84%E4%B8%80%E7%A8%AE%E6%96%B9%E6%B3%95%E7%9A%84%E7%AF%84%E4%BE%8B%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0Adt%20%3D%20New%20Table(%20%22Example%22%2C%0A%09add%20rows(%20100%20)%2C%0A%09New%20Column(%20%22c1%22%2C%20set%20each%20value(%20Random%20Integer(%201%2C%201000%20)%20)%20)%2C%0A%09New%20Column(%20%22c2%22%2C%20set%20each%20value(%20Random%20Integer(%201%2C%201000%20)%20)%20)%0A)%3B%0A%0Adt%20%26lt%3B%26lt%3B%20New%20Column(%20%22Is%20in%20Both%22%2C%0A%09formula(%0A%09%09As%20Constant(%20c1Matrix%20%3D%20%3Ac1%20%26lt%3B%26lt%3B%20get%20values%20)%3B%0A%09%09If(%20Length(%20Loc(%20c1Matrix%2C%20%3Ac2%20)%20)%20%26gt%3B%200%2C%0A%09%09%091%2C%0A%09%09%090%0A%09%09)%3B%0A%09)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-785558%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E5%88%97%E5%AD%97%E5%85%83%E5%8C%B9%E9%85%8D%E5%85%AC%E5%BC%8F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-785558%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%82%A8%E7%9A%84%E7%AC%AC%201%20%E5%88%97%E5%92%8C%E7%AC%AC%202%20%E5%88%97%E4%B8%AD%E6%B2%92%E6%9C%89%E5%B0%8F%E6%95%B8%EF%BC%8C%E6%82%A8%E4%B9%9F%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E9%97%9C%E8%81%AF%E6%95%B8%E7%B5%84%E4%BE%86%E6%AF%94%E8%BC%83%E7%B5%90%E6%9E%9C%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0A%0Adt%20%3D%20New%20Table(%22Untitled%22%2C%0A%09Add%20Rows(3)%2C%0A%09Compress%20File%20When%20Saved(1)%2C%0A%09New%20Column(%22Column%201%22%2C%20Character%2C%20%22Nominal%22%2C%20Set%20Values(%7B%22A%22%2C%20%22B%22%2C%20%22C%22%7D))%2C%0A%09New%20Column(%22Column%202%22%2C%20Character%2C%20%22Nominal%22%2C%20Set%20Values(%7B%22AA%22%2C%20%22B%22%2C%20%22C%22%7D))%0A)%3B%0A%0A%0Adt%20%26lt%3B%26lt%3B%20New%20Column(%22Diff%22%2C%20Numeric%2C%20Nominal%2C%20Formula(%0A%09As%20Constant(%0A%09%09aa1%20%3D%20Associative%20Array(%3AColumn%201)%3B%0A%09%09aa2%20%3D%20Associative%20Array(%3AColumn%202)%3B%0A%09%09aa1%20%26lt%3B%26lt%3B%20Remove(aa2)%3B%0A%09%09N%20Items(aa1)%20%26gt%3B%200%3B%0A%09)%3B%0A))%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar

Column Character Matching Formulae

Hi All,

 

I have a dataset with 2 Columns, I just wanted to check to see if the data in Column 1 is matching with Column 2, It doesn't have to match row by row. All what i am interested in checking is to see if we have the same observations, The order in which they are in both the columns if not a concern.

Can anybody help me with a formulae to be used to check this?

 

Thank

Shawn

2 REPLIES 2
txnelson
Super User

Re: Column Character Matching Formulae

Here is an example of one way to do this

Names Default To Here( 1 );
dt = New Table( "Example",
	add rows( 100 ),
	New Column( "c1", set each value( Random Integer( 1, 1000 ) ) ),
	New Column( "c2", set each value( Random Integer( 1, 1000 ) ) )
);

dt << New Column( "Is in Both",
	formula(
		As Constant( c1Matrix = :c1 << get values );
		If( Length( Loc( c1Matrix, :c2 ) ) > 0,
			1,
			0
		);
	)
);
Jim
jthi
Super User

Re: Column Character Matching Formulae

You can also use associative array to compare the results IF you don't have decimals in your Column 1 and Column 2

Names Default To Here(1);

dt = New Table("Untitled",
	Add Rows(3),
	Compress File When Saved(1),
	New Column("Column 1", Character, "Nominal", Set Values({"A", "B", "C"})),
	New Column("Column 2", Character, "Nominal", Set Values({"AA", "B", "C"}))
);


dt << New Column("Diff", Numeric, Nominal, Formula(
	As Constant(
		aa1 = Associative Array(:Column 1);
		aa2 = Associative Array(:Column 2);
		aa1 << Remove(aa2);
		N Items(aa1) > 0;
	);
));
-Jarmo

Recommended Articles