RODBC là thư viện chính trong R để nhập dữ liệu từ cơ sở dữ liệu vào R. RODBC
dường như có khả năng "đoán" kiểu dữ liệu của cột mà tôi tìm thấy làm phiền.gây phiền nhiễu "tính năng" (hoặc lỗi?) Cho RODBC
Tôi đã tải lên một tập tin test.xls
here, hoặc bạn có thể tạo một tập tin xls mình:
- tạo 2 cột, cột đầu tiên mang tên
col_a
và cột thứ hai tên làcol_b
. - loại bất cứ điều gì bạn thích trong
col_a
, tôi gõ chữ trên cột này cho 92 hàng - ở hàng 92th của col_b, gõ số đó, tôi gõ "1923" mà không thay đổi kiểu dữ liệu (tức là không sử dụng
'
) - cố gắng nhập file xls vào R sử dụng kịch bản sau đây:
library(RODBC)
setwd("C:/Users/hke775/Documents/Enoch/MISC/R_problems/RODBC")
channel <- odbcConnectExcel("test.xls",readOnly=TRUE)
dummy.df <- sqlFetch(channel,"Sheet1")
odbcClose(channel)
Bạn sẽ thấy rằng trong dummy.df
, col_b
là tất cả NA
, số 1923
trong cột này đã biến mất.
Nếu bạn muốn xem lại số 1923
, bạn có thể thay đổi hàng đầu tiên là col_b
thành một số và quay lại.
Điều này rất khó chịu vì tôi không thích sửa đổi dữ liệu theo cách thủ công. Tôi cần phải sử dụng gói khác để thực hiện việc nhập xls, nhưng tôi không thể tìm thấy các gói khác hoạt động trơn tru như RODBC
(Tôi đã thử gdata
và xlsReadWrite
).
Tôi có thiếu gì trong lệnh sqlFetch
và gây ra sự cố không? Cảm ơn.
Bạn có chắc chắn đã dùng thử gdata không? Khi tôi thử tệp thử nghiệm của bạn với gói gdata bằng cách sử dụng 'DF <- read.xls (" test.xls ")' nó đã hoạt động. '1923' đã có mặt. –
Gdata cần phải có perl, mà tôi không thể cài đặt nó trong văn phòng của tôi – lokheart
Nếu các quyền hạn có thể cài đặt R thì họ cũng nên cài đặt phân phối Rtools quá vì đó là yêu cầu cho R phát triển và có perl trong nó: http : //cran.r-project.org/bin/windows/Rtools/ –