2016-03-07 143 views
1

我有一個數據框像波紋管,其中ID是數字值,而comment1comment2字符串,我正在導入爲csv。但數據框架給出的結果如下所示,其中fifth comment應該在comment2中,並且原始的ID值由此替換。這只是隨機發生的,只有幾行。此外,只有在我導入R代碼時,纔會出現此問題Azure ML studio,RStudio沒有數據誤放。所以我在想,只需刪除第一列ID不是數值的整行。由於錯位字符串值是隨機的長句子,我無法進行字符串匹配來刪除該行。數據框足夠大,我不能手動刪除行。建議。如何刪除R中的所有非數字行?

ID     Comment1     comment2 
123    This is first comment  this is second 
234    third comment    fourth comment 
fifth comment             
345    sixth comment    seventh comment 

你會發現這裏的數據幀的樣本,

df <- 
    read.csv(
    "https://docs.google.com/spreadsheets/d/171YXjzm3FsapXSkqgOSos6UGXNRcd1yxmLyvaRnCX5E/pub?output=csv" 
) 
df <- df[-1,] 
df <- df[, 1:12] 
colnames(df) <- 
    c(
    "ID","Created","Comments","Liked_By","Disliked_By", "Recipient_Number", 
    "Sender","Recipients","Read_By", "Subject","Introduction","Body" 
) 
+3

在「評論」字段中有逗號,而且文件中的分隔符使用逗號。 – cory

+0

我明白了,現在我遇到了問題。謝謝@cory –

+0

不,我只是從xls文件保存爲.scv,並且它顯示保存文本的列也包含逗號。 –

回答

3

子集數字ID:

subset(df, grepl('^\\d+$', df$ID)) 

的模式應該匹配開始,以數字結束ID值,並只包含數字。

1

這是因爲你的評論描述某處有(),並且它打破了csv格式。爲了避免這種情況,你可以摺疊載體

+0

你的意思是使用'sapply'作爲有可能的列,' –

+0

是的......但是,我想我錯過了這裏的觀點。您正試圖從網上閱讀csv。我不確定這是否適合你。當您有數據矩陣並嘗試將其保存爲.csv時,這將起作用。 – user5249203

+0

不,這不起作用。我不知道,我只是將xls表單保存到csv中。我想這不是一個好主意 –

0

謝謝大家的寶貴意見。我只是將dataframe, .xls轉換爲.csv文件,其中文本仍然包含,打破了整個文件。 轉換成.tsv現在工作正常。

相關問題