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
- :
- Removing values from a column

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 25, 2016 11:00 AM
(1338 views)

Hi All,

I would like to remove values from a column. Normally, I would use a range check column property to do this, but with this particular column, it is also dependendent on another column's value. Is there an easy way to do this?

I tried the code below, but unfortunately it makes the entire column blank except for the first row. I thought this *might* work because the "." represents missing values. The data and modeling types are numeric and continuous.

For(i=1, i<=NRows(dt), i++,

If(dt:Col 1[i] < someValue, If(dt:Col 2[i]==1, ,dt:Col 1[i] = "."),dt:Col 1[i] = ".");

);

3 REPLIES

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

I found a way to make it work, but I don't know how efficient it is. I saved the values from the columns to lists, deleted the one column, made a new column, and added the passed values to the new column. If it wasn't a passed observation, it wasn't add and the entry in that cell is simply a "."

idList = List();

idList = As List(:Col X<< get values);

idLogic = List();

idLogic = As List(:Col Y<<get values);

dt << New Column("Col X", Numeric, Continuous);

For(i=1, i<=N Rows(dt), i++,

If(idList[i] < someValue, If(idLogic[i]==1,dt:Col X[i] = idList[i],),);

);

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

Natalie,

I believe that from an efficiency standpoint, this will do what you want

```
dt << select rows where( Not( dt:Col 1 < someValue & dt:Col 2 == 1 ) );
dt:Col 1[dt << get selected rows] = "";
```

Jim

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

That's a good idea, too! Thank you for your help.