turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- JMP User Community
- :
- Discussions
- :
- Discussions
- :
- Re: Count number of occurrences of specific words in a string

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Nov 10, 2017 7:31 AM
(2454 views)

Hello I'm looking to create a new column in my dataset that counts the number of times a specfic word appears in a string. The words are separated by "*" in each row.

Example table:

Animal List

1 dog*dog*cat*bird*dog

2 dog*dog*cat*bird*dog*dog

Output should be

Animal List Dog Count

1 dog*dog*cat*bird*dog 3

2 dog*dog*cat*bird*dog*dog 4

Can provide additional information if needed.

1 ACCEPTED SOLUTION

Accepted Solutions

Highlighted
Solution

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Here is the formula for counting the number of times "dog" appears in a given column

`N Rows( Loc( Words( :Column 1, "*" ), "dog" ) )`

Jim

7 REPLIES

Highlighted
Solution

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Here is the formula for counting the number of times "dog" appears in a given column

`N Rows( Loc( Words( :Column 1, "*" ), "dog" ) )`

Jim

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Thank you!!

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

How would this work for wildcard words? For example if dog had dog1 and another said dog2? I still would want it to count all of the dog words.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

The following formula will find all items with the string "dog" found in it

```
wordList=words(st,"*");
count=0;for(i=1,i<=n items(wordList),i++,count=sum(count,contains(wordList[i],"dog")));
count;
```

Jim

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Does the function Loc() exist only in JMP Pro?

Is there a way to count words or specific symbols in a string in regular JMP?

@txnelson wrote:Here is the formula for counting the number of times "dog" appears in a given column

`N Rows( Loc( Words( :Column 1, "*" ), "dog" ) )`

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

The documentation for JMP 13 does not indicate the LOC() function is only a JMP Pro function. I would validate that by running the LOC() function example in the Scripting Index

Help==>Scripting Index

```
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] )
);
```

Jim

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

I can confirm that the Loc() function is not specific to JMP Pro. It is available in JMP.

-Jeff