首页 > 解决方案 > 更改 R 中的一种单元格数据类型

问题描述

假设我有数据框,其中第三列由df$pct <- percent(df$pct).

样本:

df <- structure(list(Jan = c(1.52, 582.58), Feb = c(5.97, 312.94)), class = "data.frame", row.names = c(NA, 
-2L))

代码:

df$pct <- df[, 2]/df[, 1] - 1
df <- df %>%
  # mutate_if(is.numeric, ~round(., 2))
  mutate_at(vars(Jan, Feb), funs(round(., 2))) %>%
  mutate_at(vars(pct), funs(round(., 4)))

df$pct <- percent(df$pct)

出去:

在此处输入图像描述

现在我想用计算的值替换红色圆圈中的单元格5.97 - 1.52,所以我使用df[1, 3] <- (df[1, 2] - df[1, 1]),是否可以将其更改为4.45而不是292.76%

所需的输出:

在此处输入图像描述

标签: r

解决方案


df = data.frame(pct = c(4.45, -0.4628))
df$pct <- ifelse(df$pct > 1, df$pct, scales::percent(df$pct)) # this makes pct to be a character vector though

推荐阅读