2016-03-07 7 views
1

У меня есть dataframe like bellow, где ID - числовое значение, и comment1 и comment2 строка, которую я импортирую как csv. Но кадр данных дает результат, похожий на этот ниже, где fifth comment должен быть в comment2, а исходное значение ID заменяется на это. Это происходит случайным образом всего за несколько строк. Более того, эта проблема возникает только тогда, когда я импортирую код R в Azure ML студия, в RStudio Отсутствие данных не происходит. Так что я думал, просто удалите всю строку, где первый столбец ID не является числовым значением. Поскольку неправильное строковое значение является случайным длинным предложением, я не могу выполнить сопоставление строк, чтобы удалить строку. И dataframe достаточно велик, что я просто не могу удалить строки вручную. Предложение, пожалуйста.Как удалить все нечисловые строки в R?

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

Вы найдете образец dataframe здесь,

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

Нет, я просто сохраняю как .scv из файла xls, и он показывает, что в столбце с текстом есть запятые. –

ответ

3

Subset числовых идентификаторов:

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

Шаблон должен соответствовать значения ID, которые начинаются и заканчиваются с цифрами, и содержат только цифры.

1

Это потому, что в вашем описании комментариев есть (,), и он разбивает формат csv. Чтобы этого избежать, вы можете свернуть векторы

+0

вы хотите использовать 'sapply' для столбцов, где есть вероятность', ' –

+0

да ... Но, я думаю, я пропустил этот пункт здесь. Вы пытаетесь прочитать csv из Интернета. Я не уверен, что это сработает для вас. Это работает, когда у вас есть матрица данных и вы пытаетесь сохранить ее в .csv. – user5249203

+0

Нет, это не работает. Я не знаю, я просто сохраняю как лист xls в csv. Я думаю, это была не очень хорошая идея. –

0

Спасибо всем за ценное предложение. Я только что преобразовал dataframe, .xls в файл .csv, где текст по-прежнему включен , разбивает весь файл. преобразование в .tsv сейчас работает нормально.

Смежные вопросы