Как подсчитать только определенные значения в одном столбце, а другие не касаются? - PullRequest
1 голос
/ 09 мая 2020

У меня такой df

head(df)
# Date         Mongolia 
# 2020-04-14   100000 
# 2020-04-15   6000 
# 2020-04-21   300000 
# 2020-04-21   400 
# 2020-04-23   20 
# 2020-04-23   120

Я хочу разделить все четыре-di git и большие числа на 1000

newdf будет выглядеть так:

head(newdf) 
# Date         Mongolia 
# 2020-04-14   100 
# 2020-04-15   6 
# 2020-04-21   300
# 2020-04-21   400 
# 2020-04-23   20 
# 2020-04-23   120

Оцените это.

1 Ответ

0 голосов
/ 09 мая 2020

Мы можем использовать ifelse или case_when

df$Mongolia <- ifelse(nchar(df$Mongolia) >=5, df$Mongolia/5, df$Mongolia)

или просто индексировать

i1 <- nchar(df$Mongolia) >=5

Или использовать %/%

i1 <- (df$Mongolia %/% 1e4) > 0
df$Mongolia[i1] <-  df$Mongolia[i1]/1000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...