Факторы и уровни в кадре данных [дубликат]

У IE нет свойства языков в навигаторе Object.

У него есть userLanguage и Systemlanguage.

Пожалуйста, проверьте Как получить текущую локализацию браузера с помощью javascript?

Так что в случае IE вам, возможно, придется проверить navigator.userLanguage и navigator.Systemlanguage

6
задан ec0n0micus 31 March 2014 в 22:11
поделиться

5 ответов

Вы можете попробовать

DF <- data.frame("a" = as.character(0:5),
                 "b" = paste(0:5, ".1", sep = ""),
                 "c" = letters[1:6],
                 stringsAsFactors = FALSE)

# Check columns classes
sapply(DF, class)

#           a           b           c 
# "character" "character" "character" 

cols.num <- c("a","b")
DF[cols.num] <- sapply(DF[cols.num],as.numeric)
sapply(DF, class)

#          a           b           c 
#  "numeric"   "numeric" "character"
25
ответ дан Luca Braglia 27 August 2018 в 04:41
поделиться

Если вы уже используете tidyverse, это заменяет все столбцы символов числовыми и оставляет остальных в покое:

library(dplyr)
library(magrittr)

# solution
dataset %<>% mutate_if(is.character,as.numeric)

# to test
str(data.frame(x1 = c('1','2','3'),x2 = c('4','5','6'),stringsAsFactors = F))
str(data.frame(x1 = c('1','2','3'),x2 = c('4','5','6'),stringsAsFactors = F) %>% mutate_if(is.character,as.numeric))
0
ответ дан ARobertson 27 August 2018 в 04:41
поделиться

Думаю, я понял это. Вот что я сделал (возможно, не самое изящное решение) - предложения о том, как сделать imp [rove это очень приветствуется)

#names of columns in data frame
cols <- names(DF)
# character variables
cols.char <- c("fx_code","date")
#numeric variables
cols.num <- cols[!cols %in% cols.char]

DF.char <- DF[cols.char]
DF.num <- as.data.frame(lapply(DF[cols.num],as.numeric))
DF2 <- cbind(DF.char, DF.num)
2
ответ дан ec0n0micus 27 August 2018 в 04:41
поделиться

Я понимаю, что это старый поток, но хотел опубликовать решение, подобное вашему запросу для функции (просто столкнулся с подобной проблемой, пытаясь отформатировать целую таблицу на процентные метки).

Предположим, у вас есть df с 5 символьными столбцами, которые вы хотите преобразовать. Во-первых, я создаю таблицу, содержащую имена столбцов, которые я хочу манипулировать:

col_to_convert <- data.frame(nrow = 1:5
                            ,col = c("col1","col2","col3","col4","col5"))

for (i in 1:max(cal_to_convert$row))
  {
    colname <- col_to_convert$col[i]
    colnum <- which(colnames(df) == colname)
        for (j in 1:nrow(df))
          {
           df[j,colnum] <- as.numericdf(df[j,colnum])
          }
  }

Это не идеально подходит для больших таблиц, так как это происходит по ячейке, но это выполнило бы работу.

2
ответ дан Mark Wagner 27 August 2018 в 04:41
поделиться

Вы можете использовать индекс столбцов: data_set[,1:9] <- sapply(dataset[,1:9],as.character)

0
ответ дан Masimi 27 August 2018 в 04:41
поделиться
Другие вопросы по тегам:

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