Как прочитать файл, в котором был испорчен столбец?
У меня есть разделенный "\t" файл данных выглядит так:
Hotel Price Location
hotel1 100 A
hotel2 Unknown B
hotel3 1,200 C
hotel4 <id=?h B
В столбце "Цена" некоторые числа содержат запятую и выглядят как "1200". Столбец "Цена" некоторых строк запутан и содержит "Неизвестно" или что-то еще без "\t" и без определенного шаблона.
Как я могу прочитать этот файл, удалить все строки с испорченной "Ценой" и удалить все запятые в числах? Я хочу получить следующее:
Hotel Price Location
hotel1 100 A
hotel3 1200 C
Я пытался использовать
price <- read.table("hotel.txt", header=TRUE, colClasses=c("Price"="integer"))
Это не работает, потому что scan() ожидал целое число, но получил что-то не целое.
Кто-нибудь может помочь?
Заранее спасибо.
1 ответ
Решение
В 2 этапа:
## remove not numeric like Price
dat <- dat[grepl('[0-9]+',dat$Price),]
# Hotel Price Location
# 1 hotel1 100 A
# 3 hotel3 1,200 C
## convert price to numeric
dat$Price <- as.numeric(gsub(',','',dat$Price))
Hotel Price Location
1 hotel1 100 A
3 hotel3 1200 C
где дата:
dat <- read.table(text='Hotel Price Location
hotel1 100 A
hotel2 Unknown B
hotel3 1,200 C
hotel4 <id=?h B',header=TRUE)