我從excel中導入了數據集。我有一個'高度'的列,我想用''替換','。 。 我試過這個命令,但它給了我錯誤。將數據集的列中的逗號轉換爲點r
apply(apply(DATASET$Height, 2, gsub, patt=",", replace="."), 2, as.numeric)
非常感謝您的幫助
我從excel中導入了數據集。我有一個'高度'的列,我想用''替換','。 。 我試過這個命令,但它給了我錯誤。將數據集的列中的逗號轉換爲點r
apply(apply(DATASET$Height, 2, gsub, patt=",", replace="."), 2, as.numeric)
非常感謝您的幫助
首先,你應該檢查是否是字符。於是,我就用逗號分割的字符串,然後將它們以點貼:
假設是你用DATASET[["Height"]]
a <- c("234,23", "2314,54", "234,65")
得到再用sapply
,您可以拆分和摺疊每個字符元素:現在
b <- sapply(a,
function(string){
paste0(unlist(strsplit(string, split=",")),collapse=".")
})
,您可以用b
更換DATASET[["Height"]]
。
非常感謝您的幫助,我有身高像一個因素類。隨着你的程序被完全取代。 :d –
要重新編碼在數據幀 'DATASET' 列 '身高':
DATASET$Height <- gsub(",",".",DATASET$Height,fixed=TRUE)
任何錯誤?如果沒有,您可以繼續將列轉換爲數字。 轉換爲數字時會出錯嗎?也許除了「,」還有其他的字符阻止R讀取數值。在這種情況下,您需要再次應用gsub以刪除所有非數字字符。
沒有原始數據很難調試。你爲什麼不用'dput(head(DATASET $ Height))'給我們一些高度樣本?此外,您不需要在這裏申請:您可以直接在'Height'向量上運行'gsub'。 'as.numeric'也是一樣。 – nograpes
我們不知道如何將數據導入到R中,但是您應該檢查'read。*'函數中的'dec'參數以便從頭開始獲取正確的小數點。設置'dec =「,」',並將它們轉換爲R標準'「。」' – Henrik
如果您在導入數據時使用'dec =「,」'參數:D –