문자열에서 특정 단어의 발생 횟수 계산안녕하세요 특정 단어가 문자열에 나타나는 횟수를 계산하는 데이터 집합에 새 열을 만들려고 합니다. 단어는 각 행에서 "*"로 구분됩니다.
예시 테이블:
동물 목록
1개*개*고양이*새*개
2 개*개*고양이*새*개*개
출력은
동물 목록 개 수
1 개*개*고양이*새*개 3
2 개*개*고양이*새*개*개 4
필요한 경우 추가 정보를 제공할 수 있습니다.
Re: 문자열에서 특정 단어가 나오는 횟수를 센다.N Rows( Loc( Words( :Column 1, "*" ), "dog" ) ) +
N Rows( Loc( Words( :Column 1, "*" ), "cat" ) )
Re: 문자열에서 특정 단어가 나오는 횟수를 센다.안녕,
개와 고양이의 발생 횟수를 세는 기능을 어떻게 변경합니까?
Or를 시도했지만 제대로 작동하지 않습니다.
감사합니다
온자이
Re: 문자열에서 특정 단어가 나오는 횟수를 센다.나는 그 마지막 것을 좋아한다! 실제로 최대 16비트까지 작동하는 것처럼 보입니다. 17개의 연속하는 것은 배정밀도 숫자에 저장할 수 없습니다. :: 연산자는 행렬을 만들고 그 뒤에 많은 행렬 수학이 있습니다.
함수라는 단어는 일반적으로 사용하기에 가장 적합한 단어일 수 있습니다...설명하기 쉽기 때문에...
Re: 문자열에서 특정 단어가 나오는 횟수를 센다.두 가지 대안이 더 있습니다.
사용 단어() 빈 문자열을 구분 기호로 사용하는 함수:
b = 111001010;
N Row(Loc(Words(Char(b), ""), "1"));
아니면 그냥 수학으로(즉, 숫자를 문자열로 변환하지 않고). 예를 들어:
b = 111001010;
Sum(Mod(Round(b / 10 ^ (Floor(Log10(b + 1)) :: 0)), 10));
Re: 문자열에서 특정 단어가 나오는 횟수를 센다.대안 중 하나를 찾으십시오. 스크립트를 실행하여 테이블을 만듭니다.
New Table( "Counting Ones",
Add Rows( 5 ),
New Column( "Number",
Numeric,
"Continuous",
Format( "Best", 17 ),
Set Values( [111000010100001, 10101, 11111, 0, 101010101] ),
Set Display Width( 132 )
),
New Column( "Count of One",
Numeric,
"Ordinal",
Format( "Best", 12 ),
Formula(
Length( Char( :Number ) ) - Length(
Substitute( Char( :Number ), "1", "" )
)
),
Set Display Width( 102 )
)
)Re: 문자열에서 특정 단어가 나오는 횟수를 센다.데이터가 숫자(이미 10진법!)인 것처럼 보이므로 char(value)를 사용하여 문자열 표현으로 되돌려야 할 수도 있습니다.
Re: 문자열에서 특정 단어가 나오는 횟수를 센다.이를 수행하는 여러 가지 방법. 여기 하나 있습니다.
ASCIIcode = blobtomatrix(chartoblob("1"),"int",1,"big")[1]; // 49
intermediate=blobtomatrix(chartoblob("0101111001010"),"int",1,"big")==ASCIIcode;
// intermediate=[0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0]
sum(intermediate);
라인 1은 ASCII 문자 "1"에 대한 ASCII 코드를 가져오는 방법일 뿐이며, 1개 요소의 매트릭스로 반환됩니다.
2행도 비슷하지만 더 큰 배열을 가져와서 원하는 코드와 비교하여 3행 주석의 값이 됩니다.
4행은 요소를 합산합니다.
Re: 문자열에서 특정 단어가 나오는 횟수를 센다.안녕
예를 들어 이진 문자열 111001010에서 "1"이 몇 개인지 세고 싶습니다.
어떻게 하면 이와 같은 결과를 얻을 수 있습니까?

감사해요
Re: 문자열에서 특정 단어가 나오는 횟수를 센다.Loc() 함수가 JMP Pro에만 해당되는 것이 아님을 확인할 수 있습니다. JMP에서 사용할 수 있습니다.
Re: 문자열에서 특정 단어가 나오는 횟수를 센다.JMP 13 설명서에는 LOC() 함수가 JMP Pro 함수일 뿐이라고 나와 있지 않습니다.Scripting Index에서 LOC() 함수 예제를 실행하여 확인하겠습니다.
도움말==>스크립팅 인덱스
Names Default To Here( 1 );
Show( Loc( [1 0 1 0 1 0] ) );
Show( Loc( {"A", 2, 3, 2, 5, 2, 4, [1 5]}, 2 ) );
Show(
Loc( {"A", 2, 3, 2, 5, 2, 4, [1 5]}, [1 5] )
);Re: 문자열에서 특정 단어가 나오는 횟수를 센다.Loc() 함수는 JMP Pro에만 존재합니까?
일반 JMP에서 문자열의 단어나 특정 기호를 세는 방법이 있습니까?
@txnelson 쓴 :
다음은 주어진 열에 "개"가 나타나는 횟수를 계산하는 공식입니다.
N Rows( Loc( Words( :Column 1, "*" ), "dog" ) )

Re: 문자열에서 특정 단어가 나오는 횟수를 센다.다음 수식은 문자열 "dog"가 있는 모든 항목을 찾습니다.
wordList=words(st,"*");
count=0;for(i=1,i<=n items(wordList),i++,count=sum(count,contains(wordList[i],"dog")));
count;
Re: 문자열에서 특정 단어가 나오는 횟수를 센다.와일드카드 단어에 대해 어떻게 작동합니까? 예를 들어 개에게 dog1이 있고 다른 개가 dog2라고 한다면? 나는 여전히 모든 개 단어를 계산하기를 원합니다.
Re: 문자열에서 특정 단어가 나오는 횟수를 센다.감사합니다!!Re: 문자열에서 특정 단어가 나오는 횟수를 센다.다음은 주어진 열에 "개"가 나타나는 횟수를 계산하는 공식입니다.
N Rows( Loc( Words( :Column 1, "*" ), "dog" ) )

Re: 문자열에서 특정 단어의 발생 횟수를 계산합니다.정말 감사합니다, @ian_jmp .
사실 길이 - 길이가 N행(Loc())보다 4배 빠를 것이라고는 예상하지 못했습니다...
dt = Open( "$SAMPLE_DATA/Wafer Stacked.jmp" );
// Recode column: Lot_Wafer Label
Local( {dt},
dt = Data Table( "Wafer Stacked" );
dt << Begin Data Update;
For Each Row(
dt,
dt:Lot_Wafer Label[] = Substitute( dt:Lot_Wafer Label, "1", "xxx_" )
);
dt << End Data Update;
);
dt_long=dt << Concatenate(dt,dt,dt,dt);
t0=hptime();
dt_long <<NEW column=""></NEW>Re: 문자열에서 특정 단어의 발생 횟수를 계산합니다.6개월이 지나면 그 방법을 기억하지 못할 것이고 모든 동료에게 설명하는 데 시간을 투자하고 싶지 않기 때문에 사용자 정의 기능을 설정하려고 했습니다.
Add Custom Functions(
New Custom Function(
"test",
"countWord",
Function( {myString, myWord},
If( Length( myWord ) > 0,
Return( (Length( myString ) - Length( Substitute( myString, myWord, "" ) )) / Length( myWord ) ),
Return( 0 )
)
),
<<DESCRIPTION></DESCRIPTION><BR />t0=hptime();<BR />dt_long << new column("new", set each value(test:countWord(:Lot_Wafer Label,"xxx")));<BR />Write ("via custom function:\!t",(hptime() - t0)/1000000,"s\!n");안타깝게도:

@ian_jmp 의 원본 버전만큼 빠르게 사용자 정의 기능을 조정하려면 어떻게 해야 합니까?
[If(...)를 제거하면 약간 도움이 되지만 1초 미만으로 얻는 방법은 무엇입니까?]