1
我讀了很多文本文件,每個文件包含兩列:1)名稱2)實數。讀書,我使用lapply
功能的所有文件,如下所示:防止將數字轉換爲讀取R中的文件中的因素
Exp_data <- lapply(FileNames, function(x) read.table(file = x, fill = TRUE, skip = 2, header = F))
我只需要文件的第二列,所以我用下面的指令獲取第二列:
data <- sapply(1:length(Exp_data), function(x) Exp_data[[x]][2])
運行這個指令後, data
是每個列表已被轉換爲因子的列表! 如何防止將數字轉換爲因子?
我的最終目標是製作一個矩陣,其中每列是源文件的數值列。
有什麼想法?
它可能是你的數字列有一些字符元素,使它轉換爲字符類。默認情況下,stringsAsFactors = TRUE,所以你得到因子類。一種選擇是使用'stringsAsFactors = FALSE',然後用'as.numeric(yourdata $ yourcolumn)'將'character'類轉換爲'numeric',字符元素將被強制轉換爲'NA'。沒有可重複的例子,雖然 – akrun
不容易發表評論您也可以檢查小數是否用','表示。在這種情況下,您可以在'read.table'中指定'dec =',''' – akrun
謝謝@akrun。你是對的,有些數字在文件中是空白的。 – user4704857