R 如何只计算一列中的某些值;还有其他人不碰?
我有一个像这样的dfR 如何只计算一列中的某些值;还有其他人不碰?,r,R,我有一个像这样的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 我想把所有四位数或更大的数字除以1000 newdf将类似于: head(newdf) # Date Mongolia # 2020-04
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
我想把所有四位数或更大的数字除以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
非常感谢。我们可以在
df$Mongolia <- ifelse(nchar(df$Mongolia) >=5, df$Mongolia/5, df$Mongolia)
当
df$Mongolia <- ifelse(nchar(df$Mongolia) >=5, df$Mongolia/5, df$Mongolia)
为什么6000除以1000?这是四位数,说得好。对不起,我想把四位数或更大的数字都除以1000。为什么6000除以1000?这是四位数,说得好。对不起,我想把四位数以上的数字都除以1000。
i1 <- (df$Mongolia %/% 1e4) > 0
df$Mongolia[i1] <- df$Mongolia[i1]/1000