user13467695
user13467695

Reputation:

How to arrange ny dataframe by number of characters in column?

I have a dataset:

id     value
1    "include details"
2    "language"
2    "describe what you've tried"

How could I arrange it by number of characters in column value with strings? %>% arrange(value) doesnt work. How to do that?

Upvotes: 1

Views: 27

Answers (2)

MonJeanJean
MonJeanJean

Reputation: 2906

I would use stringr package:

Data:

df <- data.frame(id = c(1,2,3),
                 value = c("include details","language","describe what you've tried"))

Code:

library(stringr)
df %>% 
  arrange(str_count(value))

Output:

  id                      value
1  2                   language
2  1            include details
3  3 describe what you've tried

Upvotes: 1

Ronak Shah
Ronak Shah

Reputation: 389335

arrange it by nchar -

library(dplyr)

df %>% arrange(nchar(value))

#  id                      value
#1  2                   language
#2  1            include details
#3  2 describe what you've tried

Or in descending order -

df %>% arrange(desc(nchar(value)))

#  id                     value
#1  2 describe what you've tried
#2  1           include details
#3  2                  language

Or in base R -

df[order(nchar(df$value)), ]

Upvotes: 1

Related Questions