d0 <- read.csv(file = 'https://stats.dip.jp/01_ds/data/dirty_data1.csv')

summary(d0)
##     会社名               気温            湿度             風速       
##  Length:22          Min.   :12.00   Min.   :-50.00   Min.   :-1.000  
##  Class :character   1st Qu.:20.00   1st Qu.: 30.00   1st Qu.: 1.000  
##  Mode  :character   Median :32.40   Median : 50.00   Median : 2.000  
##                     Mean   :28.18   Mean   : 39.73   Mean   : 2.052  
##                     3rd Qu.:34.10   3rd Qu.: 51.00   3rd Qu.: 4.000  
##                     Max.   :50.40   Max.   : 60.00   Max.   : 5.000  
##                     NA's   :1                        NA's   :1
library(DT)
datatable(d0)
d1 <- na.omit(d0)

summary(d1)
##     会社名               気温            湿度             風速       
##  Length:20          Min.   :12.00   Min.   :-50.00   Min.   :-1.000  
##  Class :character   1st Qu.:18.50   1st Qu.: 27.50   1st Qu.: 0.750  
##  Mode  :character   Median :32.40   Median : 50.00   Median : 2.000  
##                     Mean   :27.97   Mean   : 38.55   Mean   : 2.105  
##                     3rd Qu.:34.10   3rd Qu.: 51.00   3rd Qu.: 4.000  
##                     Max.   :50.40   Max.   : 60.00   Max.   : 5.000
datatable(d1)
is.tp <- -20 <= d1$気温 & d1$気温 <=  50
is.hm <-   0 <= d1$湿度 & d1$湿度 <= 100
is.ws <-   0 <= d1$風速 & d1$風速 <=  70

summary(is.tp)
##    Mode   FALSE    TRUE 
## logical       2      18
summary(is.ws)
##    Mode   FALSE    TRUE 
## logical       1      19
d2 <- d1[is.tp & is.hm & is.ws, ]

datatable(d2)
d3 <- d2
d3$気温 <- round(d2$気温, 1)
d3$湿度 <- round(d2$湿度, 0)
d3$風速 <- round(d2$風速, 0)

datatable(d3)
d3$会社名
##  [1] "ソニー"         "Sony"           "SONY"           "sony"          
##  [5] "ソニー株式会社" "Sony(株)"     "ソニー(株)"     "sony"          
##  [9] "富士通"         "Fujitsu"        "Fujitu"         "FUJITSU"       
## [13] "富士通株式会社" "富士通(株)"     "fujitsu"        "FUJITSU"
AB.SONY <- c("ソニー", "Sony(株)", "ソニー(株)", "Sony", "SONY", "sony")

LAB.FUJITSU <- c("富士通", "富士通(株)", "Fujitsu", "FUJITSU", "fujitsu", "Fujitu", "fujitu")


is.fujitsu <- d3$会社名 %in% LAB.FUJITSU

d4 <- d3


d4$会社名[is.fujitsu] <- '富士通株式会社'

d4$会社名
##  [1] "ソニー"         "Sony"           "SONY"           "sony"          
##  [5] "ソニー株式会社" "Sony(株)"     "ソニー(株)"     "sony"          
##  [9] "富士通株式会社" "富士通株式会社" "富士通株式会社" "富士通株式会社"
## [13] "富士通株式会社" "富士通株式会社" "富士通株式会社" "富士通株式会社"
d3$会社名
##  [1] "ソニー"         "Sony"           "SONY"           "sony"          
##  [5] "ソニー株式会社" "Sony(株)"     "ソニー(株)"     "sony"          
##  [9] "富士通"         "Fujitsu"        "Fujitu"         "FUJITSU"       
## [13] "富士通株式会社" "富士通(株)"     "fujitsu"        "FUJITSU"
##  [1] "ソニー"         "Sony"           "SONY"           "sony"          
##  [5] "ソニー株式会社" "Sony(株)"     "ソニー(株)"     "sony"          
##  [9] "富士通"         "Fujitsu"        "Fujitu"         "FUJITSU"       
## [13] "富士通株式会社" "富士通(株)"     "fujitsu"        "FUJITSU"
# ソニー株式会社を意味する表記


# 富士通株式会社を意味する表記
LAB.FUJITSU <- c("富士通", "富士通(株)", "Fujitsu", "FUJITSU", "fujitsu", "Fujitu", "fujitu")

# %in%の記号は右辺の集合に含まれるか否かを示す論理記号

is.fujitsu <- d3$会社名 %in% LAB.FUJITSU

d4 <- d3

# 各メーカーの正式名称に統一
d4$会社名[is.fujitsu] <- '富士通株式会社'

d4$会社名
##  [1] "ソニー"         "Sony"           "SONY"           "sony"          
##  [5] "ソニー株式会社" "Sony(株)"     "ソニー(株)"     "sony"          
##  [9] "富士通株式会社" "富士通株式会社" "富士通株式会社" "富士通株式会社"
## [13] "富士通株式会社" "富士通株式会社" "富士通株式会社" "富士通株式会社"
##  [1] "ソニー株式会社" "ソニー株式会社" "ソニー株式会社" "ソニー株式会社"
##  [5] "ソニー株式会社" "ソニー株式会社" "ソニー株式会社" "ソニー株式会社"
##  [9] "富士通株式会社" "富士通株式会社" "富士通株式会社" "富士通株式会社"
## [13] "富士通株式会社" "富士通株式会社" "富士通株式会社" "富士通株式会社"
# クリーンデータ(clean data)
datatable(d4)