我擁有以下數據集。它在我想要讀入的數字之前有幾行不想要的字符,以及數據之後的一些不需要的行。我創建了一個子字符串,它將作爲我的第一列,它是純粹的數字。有數據,當讀入數據集時,高於和低於這些轉換爲NA的數字。有沒有一種方法,除了skip和nrow,我可以刪除NA行,只讀取那些數字的行?僅讀取某些行
x<-read.csv("..."),
header=FALSE, na.strings="Y")
y<-substr(x$V1,1,8)
y<-as.numeric(y)
x2<-cbind(y,x1)
x2<-as.data.frame(x2)
我曾嘗試:
if (x$y == is.numeric) {
print(x)
} else {
print("")}
但是,這顯然是錯誤的,因爲我得到的都是錯誤的。我一直在嘗試上述代碼的不同組合,以及:
x3<-sapply(x$y,is.numeric)
x[x3,]
但沒有什麼我嘗試工作..我要麼完全關閉或思念的東西。
更新:我能夠用這兩種方法回答下面..但現在的問題是,因爲數字行上面的行包含字符,我的列是因素而不是數字。而不是實際刪除行,我們只是暫時刪除它們。有沒有辦法永久刪除它們,以便我的列將是類數字?
您是否嘗試過'read.csv()'中的'skip'和'nrow'參數? –
哎呦,我說nobs = up top。我打算說跳過和黑暗。我將把這個代碼應用到具有不同行號的多個數據集,所以當應用到不同的集時,skip和nrow將不起作用。 – coderX
如果有一個文件的例子以及你希望如何將它讀入到R中,那將是很好的事情。'na.omit(x)'會起作用嗎? –