[英]How to remove special character from data frame
我已從網址導入數據,並使用以下代碼將其轉換為數據框:
url <-"http://apims.doe.gov.my/v2/hourly2.php"
tables<- readHTMLTable(url)
try<-do.call(rbind, lapply(tables, data.frame, stringsAsFactors=FALSE))
數據旁邊的數字帶有“ *”。 我只想隔離數字。 所以代替
52* 45* 67* 55*
我有
52 45 67 55
我嘗試了幾種方法來從第3列到第8列中獲取*特殊字符並將該列更改為數字,但是由於該字符在R中也具有含義,因此無法使用。 我努力了:
x <- "~!@#$%^&*"
str_replace_all(x, as.character(try[,3:8]), " ")
我也嘗試過:
gsub("*","",try[,3:8])
唯一可以正確識別*字符的函數是grep和grapl,但是我需要另一個函數,該函數將使用grep輸出刪除'*'特殊字符。
grep('*',try)
嘗試這個:
dat<-do.call(rbind, lapply(tables, data.frame, stringsAsFactors=FALSE))
dat[, -(1:2)] <- sapply(dat[, -(1:2)], function(col) {
as.numeric(sub("[*]$", "", col))
})
head(dat)
# NEGERI...STATE KAWASAN.AREA MASA.TIME06.00AM MASA.TIME07.00AM MASA.TIME08.00AM MASA.TIME09.00AM MASA.TIME10.00AM MASA.TIME11.00AM
# NULL.1 Johor Kota Tinggi 52 53 52 50 50 49
# NULL.2 Johor Larkin Lama 51 51 51 NA 51 51
# NULL.3 Johor Muar 45 45 45 45 45 45
# NULL.4 Johor Pasir Gudang 56 56 55 56 56 56
# NULL.5 Kedah Alor Setar 50 50 50 50 50 49
# NULL.6 Kedah Bakar Arang, Sg. Petani NA NA NA NA NA NA
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.