我有一個非常大的數據集,用於說明目的看起來如下所示。將csv數據導入到R的問題,其中數據包含額外的逗號
CUST_ID,Sales_Assistant,商店
123,瑪麗,沃辛頓,22
456,傑克,查爾斯,42
實際數據有更多的列數百萬行的。我使用下面的代碼將它導入到R中,但它正在失敗,因爲一個或多個列在數據中有一個逗號(參見上面的Sales_Assistant)。
df <- read.csv("C:/dataextract.csv", header = TRUE , as.is = TRUE , sep = "," , na.strings = "NA" , quote = "" , fill = TRUE , dec = "." , allowEscapes = FALSE , row.names=NULL)
添加row.names = NULL進口的所有數據,但是它在兩列分裂Sales_Assistant柱和把所有其他數據不對準。如果我沒有這個運行代碼,我得到一個錯誤...
錯誤在read.table(文件=文件,標題=標題,sep = sep,quote = quote,:重複'row.names'是不允許的
...並將這些數據將不會加載。
你能想到解決的辦法,不涉及從源頭上解決了數據,或者在文本編輯器打開它?是否有解決方案在R?
我喜歡你這樣做的方式,它運行到我運行的點...... colnames(df)< - df_cnames。具有df_cnames數據框中所需的colname的行具有行號1.然後colnames(df)< - df_cnames代碼將目標df中的所有列重命名爲1? –
此問題與df_cnames數據爲因素有關。下面解決它... df_cnames < - data.frame(lapply(df_cnames,as.character),stringsAsFactors = FALSE) –
您也可以添加stringsAsFactors = FALSE作爲read.csv的參數。甚至可以使用options(stringsAsFactors = FALSE)來設置全局。閱讀字符串作爲因素更容易混淆,然後很有幫助。 – Ape