Двоичный от SQL до R - PullRequest
       8

Двоичный от SQL до R

0 голосов
/ 03 декабря 2018

Я пытаюсь прочитать таблицу из SQL.SQL имеет ряд двоичных столбцов (5-10).

Я пытаюсь преобразовать столбцы в логические столбцы в R. Если я делаю это строка за строкой, я могу получить это без проблем.Проблема в том, когда я пытаюсь сделать это для всего набора данных.Кажется, самая большая проблема заключается в том, что он читает двоичный файл как необработанный.Вот что я делаю, чтобы преобразовать его построчно.

data <- a SELECT LIMIT 1 statement
data[5] <- as.logical(as.numeric(rawToChar(unlist(data[5])))

Но если я попытаюсь сделать это более чем в одну строку

data <- SELECT whole table
data[5] <- as.logical(as.numeric(rawToChar(unlist(data[5])))

Все становится ИСТИНОЙ.Если я это сделаю

rawToChar(unlist(data[5]))

, то выдает «00101011101001111101001001111110100010100001001110101110100011100000000011011110100100111000000000110»

Я попытался несколько параметров без удачи.Кажется, я ограничен в возможностях, поскольку dbGetQuery, похоже, возвращает список.Ничто, кажется, не устраивает список необработанных данных в качестве параметра.

structure(list(dept = c("A", "A", "C", "D", "C", "B"), class_name = c("Agricultural Leadership and Personal Development", 
"Cooperative Agribusiness Sales and Marketing I ", "Cooperative Agribusiness Sales and Marketing II ", 
"Co-op/Internship I ", "Co-op/Internship II (AG-GH/PS)", "Marketing Agricultural Commodities "
), enrollment = c(33L, 39L, 45L, 94L, 80L, 37L), faculty_id = c(7L, 
15L, 49L, 38L, 44L, 86L), pc_req = list(as.raw(0x30), as.raw(0x30), 
    as.raw(0x31), as.raw(0x30), as.raw(0x31), as.raw(0x30)), 
    proj_req = list(as.raw(0x31), as.raw(0x30), as.raw(0x30), 
        as.raw(0x31), as.raw(0x31), as.raw(0x30)), speakers_req = list(
        as.raw(0x31), as.raw(0x30), as.raw(0x30), as.raw(0x30), 
        as.raw(0x31), as.raw(0x30)), podium_req = list(as.raw(0x31), 
        as.raw(0x30), as.raw(0x30), as.raw(0x31), as.raw(0x31), 
        as.raw(0x31)), microphone_req = list(as.raw(0x31), as.raw(0x30), 
        as.raw(0x31), as.raw(0x31), as.raw(0x30), as.raw(0x30)), 
    smartboard_req = list(as.raw(0x31), as.raw(0x30), as.raw(0x31), 
        as.raw(0x30), as.raw(0x31), as.raw(0x31)), bluray_req = list(
        as.raw(0x31), as.raw(0x30), as.raw(0x31), as.raw(0x30), 
        as.raw(0x31), as.raw(0x31))), row.names = c(NA, 6L), class = "data.frame")
...