如何在從R向Microsoft SQL Server寫入數據時在列標題中保存空格?使用sqlsave保存列標題中的空格
請注意,我想在列名中使用空格,因爲這是一個關鍵字/短語與關鍵字/短語的關聯表。我可以將ID作爲列名稱,但最終用戶會希望看到列名稱與實際相同。 「go skateboard」和「goskateboard」是有區別的。
下面是一些代碼來澄清問題。
# Load RODBC package
library(RODBC)
# Connect to database (write database name in quoted area)
con <- odbcConnect("")
# Generate random matrix
mat_test <- matrix(rnorm(12), 4, 3)
# Label column headers
colnames(mat_test) <- c("A","A B", "C")
# Change matrix to dataframe
df_test <- as.data.frame(mat_test)
# View data frame. Note how there is a space in the column header labled "A B"
View(df_test)
# Write data frame to database. Why is the space gone? How do I preserve the space?
sqlSave(con, df_test, tablename = "12_Test_12", rownames = FALSE, colnames = TRUE)
帶空格的名稱在R中不是語法上有效的列名。您可以擁有它們,但不應該。這就是爲什麼在'read.table'(它被設置爲默認'= TRUE')中有一個'check.names'參數的原因,還有一個叫做'make.names'的特殊函數。簡而言之,我對你的建議 - 不要創建這樣的名字,而是要克服它。 – 2015-02-10 21:19:39