R эквивалентно команде Stata `compress`? - PullRequest
9 голосов
/ 20 февраля 2012

Stata имеет команду compress, которая просматривает все строки данных и пытается привести каждый к наиболее эффективному формату. Например, если у вас есть набор целых чисел, хранящихся как символьный вектор в data.frame, он приведет это к целому числу.

Я могу представить, как можно написать такую ​​функцию в R, но она уже существует?

1 Ответ

8 голосов
/ 20 февраля 2012

Технически, read.table делает именно это с помощью type.convert. Таким образом, вы можете использовать это - это не самый эффективный способ, но, вероятно, самый простой:

df <- as.data.frame(lapply(df ,function(x) type.convert(as.character(x))))

На практике может быть лучше сделать это выборочно, поэтому вы касаетесь только символов / факторов:

for (i in seq.int(df)) if (is.factor(df[[i]]) || is.character(df[[i]]))
    df[[i]] <- type.convert(as.character(df[[i]]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...