Преобразовать значения столбцов в проценты - PullRequest
0 голосов
/ 30 октября 2018

Я читаю несколько файлов Excel в списки, используя read.xlsx из пакета openxlsx. Я добавляю списки с помощью rbind и выполняю некоторые манипуляции с данными.

Что мне нужно сделать, это преобразовать значения в столбцах 18 и 19 в проценты (в настоящее время значения отображаются как .90, .85 и т. Д., Но я также могу заставить пользователя ввести как 90, 85 и т. Д. I нужно на 90%, на 85%). Я пытался сделать это внутри data.frame, а также с помощью createStyle. Пока что ничего не работает и не повредит мои данные или просто ничего не сделает.

Вот что я пробовал ...

openxlsx Style

# Create percent style
pct = createStyle(numFmt = "0%")
# Apply style
addStyle(wb, sheet = "filename", style = pct, cols = 18, rows = 102, gridExpand = TRUE)

str_replace

allData <- str_replace(allData$'Content', pattern = "%", "")
allData$'Content' <- as.numeric(allData)/100

sapply (даже просто попытка преобразовать тип данных в числовой не работала. Для него по-прежнему было установлено значение General

allData[, c(18)] <- sapply(allData[, c(18)], as.numeric)

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 02 мая 2019

Выяснил это некоторое время назад, но забыл опубликовать ответ. Для тех, кому интересно ...

# Create a percent style
pct = createStyle(numFmt = "0%")

# Add percent style
addStyle(wb, sheet = "my_filename", style = pct, cols = c(18, 19), rows = 2:(nrow(allData)+1), gridExpand = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...