Я использую sqldf
для подмножества огромного файла. Следующая команда дает мне data.frame из 100 строк и 42 столбцов.
first <- read.csv.sql("first.txt", sep = " ", header = TRUE, row.names = FALSE,
sql = "SELECT * FROM file WHERE n = '\"n63\"' AND ratio = 1 AND r_name = '\"r1\"' AND method = '\"nearest\"' AND variables = 10")
Структура объекта
'data.frame': 100 obs. of 42 variables:
$ test_before : chr "TRUE" "TRUE" "TRUE" "TRUE" ...
$ test_after : chr "TRUE" "TRUE" "TRUE" "TRUE" ...
$ meanPSmatchRATIO : chr "1.54845330373635" "1.16857102212364" "1.25330045961256" "1.8011651466717" ...
snipped intervening normally printed columns
$ PSdiff_DIFF : chr "-0.0103938442562762" "-0.00935228868105753" "-0.00947571480267878"
snipped intervening normally printed columns
$ nUNMATCHt : chr "0" "0" "0" "0" ...
$ caliper : chr "\"no\"" "\"no\"" "\"no\"" "\"no\"" ...
$ method : chr "\"nearest\"" "\"nearest\"" "\"nearest\"" "\"nearest\"" ...
$ r_name : chr "\"r1\"" "\"r1\"" "\"r1\"" "\"r1\"" ...
$ ratio : int 1 1 1 1 1 1 1 1 1 1 ...
$ n : chr "\"n63\"" "\"n63\"" "\"n63\"" "\"n63\"" ...
$ variables : int 10 10 10 10 10 10 10 10 10 10 ...
Теперь, исходя из этого, вы ожидаете, что когда я печатаю data.frame, все столбцы (кроме тех, что int
будут символьными (заключенными в "")). Но ты ошибаешься!
test_before test_after meanPSmatchRATIO del- nUNMATCHt caliper method r_name ratio n variables
1 TRUE TRUE 1.54845330373635 eted 0 "no" "nearest" "r1" 1 "n63" 10
2 TRUE TRUE 1.16857102212364 ... 0 "no" "nearest" "r1" 1 "n63" 10
3 TRUE TRUE 1.25330045961256 ... 0 "no" "nearest" "r1" 1 "n63" 10
4 TRUE TRUE 1.8011651466717 ...t 0 "no" "nearest" "r1" 1 "n63" 10
Обратите внимание, что только последние несколько столбцов являются «символьными». Я немного потерян в том, что происходит. Может кто-нибудь объяснить?
str
утверждает, что большинство столбцов являются символьными. Включая суппорт, метод, r_name и n. Однако только вышеупомянутые столбцы печатаются с"
, все остальные ведут себя как факторные или числовые (или, как в случае с первыми двумя столбцами, логические). - person Roman Luštrik   schedule 11.09.2011"
. Первым элементомcaliper
является"\"no\""
! - person Gavin Simpson   schedule 11.09.2011