Size: a a a

R (язык программирования)

2021 April 03

R

Rus in R (язык программирования)
Народ , скажите пожалуйста как в Таблице преобразовать последние выделенные столбцы в числовой формат .
В некоторых строках попадаются вот такие chr "9.0240303E7" значения или с пробелами перед и после числа или длинные chr "6.754341797911623" , которые не преводятся в число автоматом
источник

PD

Pavel Demin in R (язык программирования)
Rus
Народ , скажите пожалуйста как в Таблице преобразовать последние выделенные столбцы в числовой формат .
В некоторых строках попадаются вот такие chr "9.0240303E7" значения или с пробелами перед и после числа или длинные chr "6.754341797911623" , которые не преводятся в число автоматом
наверное, вот так:
df = data.frame(num_float = "9.0240303E7",
               num_large_dec = "6.754341797911623",
               num_with_inner_spaces = "6. 7 6 8",
               num_with_outer_spaces = " 6.768  ")

options(scipen = 9)

apply(df, 2, function(x) {
   if (is.character(x)) {
       x = gsub(" ", "", x)
   }
   x = as.numeric(x)
})
источник

II

Ivanka Ivanova in R (язык программирования)
Здравствуйте!
У кого есть в эл.виде учебник:
Зададаев СА "Математика в R"?
Если можете, пришлите, пожалуйста!
Заранее СПАСИБО!
источник

II

Ivanka Ivanova in R (язык программирования)
Или что путное пришлите) пожалуйста
источник

II

Ivanka Ivanova in R (язык программирования)
Это не по теме)
источник

II

Ivanka Ivanova in R (язык программирования)
Мне к понедельнику его надо проштудировать уже!
источник

II

Ivanka Ivanova in R (язык программирования)
Нет. Я особо не нервничаю, сделаю, что смогу)
источник

R

Rus in R (язык программирования)
Pavel Demin
наверное, вот так:
df = data.frame(num_float = "9.0240303E7",
               num_large_dec = "6.754341797911623",
               num_with_inner_spaces = "6. 7 6 8",
               num_with_outer_spaces = " 6.768  ")

options(scipen = 9)

apply(df, 2, function(x) {
   if (is.character(x)) {
       x = gsub(" ", "", x)
   }
   x = as.numeric(x)
})
Спасибо!
А чтобы применить такое преобразование только к последним 7 столбцам в датасете , я правильно применил вот такую конструкцию, или есть более короткий синтаксис в R ?

df1[,(ncol(df1)-6):ncol(df1)] = apply(df1[,(ncol(df1)-6):ncol(df1)], 2, function(x) {
 if (is.character(x)) {
   x = gsub(" ", "", x)
 }else
 x = as.numeric(x)
})
источник

PD

Pavel Demin in R (язык программирования)
да вроде да, я бы так делал, наверное.
короче будет только в дата.тейбл
dt[, lapply(.SD, as.numeric), .SDcols = names(dt)[len(dt)-6:len(dt)]
источник

R

Rus in R (язык программирования)
Pavel Demin
да вроде да, я бы так делал, наверное.
короче будет только в дата.тейбл
dt[, lapply(.SD, as.numeric), .SDcols = names(dt)[len(dt)-6:len(dt)]
Выдает ошибку такая конструкция
источник

PD

Pavel Demin in R (язык программирования)
вы не закрыли скобку
источник

PD

Pavel Demin in R (язык программирования)
причем как круглую, так и квадратную
источник

PD

Pavel Demin in R (язык программирования)
и надо убедиться, что “data.table” %in% class(dt)
источник

PD

Pavel Demin in R (язык программирования)
Rus
Выдает ошибку такая конструкция
еще и запятую не поставили перед .SDcols
источник

R

Rus in R (язык программирования)
Pavel Demin
еще и запятую не поставили перед .SDcols
Сейчас вроде все поставил.
источник

PD

Pavel Demin in R (язык программирования)
А пакет data.table подключили, и объект dt - data.table?
источник

М

Марк in R (язык программирования)
Привет) Не подскажете, пжл, где можно поподробнее почитать про туннелирование в data.table с помощью набора [], как на скрине. Из примера вроде понятно, а на практике зачастую нифига не работает. Перенесешь строчку ниже - не работает, перенесешь выше - работает и т.д
источник

М

Марк in R (язык программирования)
источник

PD

Pavel Demin in R (язык программирования)
чаще всего, это супер bad practice
я использую лесенку только если код остается читаемым.
то, что на скрине - это жесть. это тайди-бой(герл) пересел(а) на дата.тейбл и начал пайпить. так делать не надо)
источник

PD

Pavel Demin in R (язык программирования)
мое скромное мнение, разумеется
источник