Как объявить кодировку для всех столбцов символов во фрейме данных?

Function Test([string]$arg1, [string]$arg2)
{
    Write-Host "`$arg1 value: $arg1"
    Write-Host "`$arg2 value: $arg2"
}

Test("ABC") ("DEF")
0
задан R'n'E 16 January 2019 в 16:24
поделиться

1 ответ

Нет необходимости использовать tidyverse. Просто зациклите столбцы, которые удовлетворяют условию:

set.seed(1)

df <- data.frame(a = rep("Einfügen einer Zwischenebene", 5), b = runif(5), c = rep("Einfügen einer Zwischenebene", 5), stringsAsFactors = F)

cols <- names(df)

for(i in seq_along(cols)){

  if(!is.character(df[, cols[[i]]])) next

  Encoding(df[, cols[[i]]]) <- "UTF-8"

}

В результате:

> df
                             a         b                            c
1 Einfügen einer Zwischenebene 0.2655087 Einfügen einer Zwischenebene
2 Einfügen einer Zwischenebene 0.3721239 Einfügen einer Zwischenebene
3 Einfügen einer Zwischenebene 0.5728534 Einfügen einer Zwischenebene
4 Einfügen einer Zwischenebene 0.9082078 Einfügen einer Zwischenebene
5 Einfügen einer Zwischenebene 0.2016819 Einfügen einer Zwischenebene

dplyr решение

dplyr::mutate_if(df, is.character, .funs = function(x){return(`Encoding<-`(x, "UTF-8"))})
0
ответ дан JdeMello 16 January 2019 в 16:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: