-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcleaning_try.lifeform.R
More file actions
executable file
·65 lines (46 loc) · 2.68 KB
/
Copy pathcleaning_try.lifeform.R
File metadata and controls
executable file
·65 lines (46 loc) · 2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
## cleaning TRY life form (NOT named as raunkiear) levels
## initally 1442 levels which coudl be better
## I want to clean themn to less than 10 classifications and then the combinations thereof
## name the life form dataset "mydata"
mydata <- pgf
## look at levels
levels(factor(mydata$OrigValueStr))
## making naming consistant
mydata$OrigValueStr <- tolower(mydata$OrigValueStr)
## remove numeric levels for now, deal with later
mydata$OrigValueStr[grep("[[:digit:]]", mydata$OrigValueStr)] <- "numeric"
## remove symbols lables
symbols <-c("\\_", "\\/", "\\,", "\\|", "\\(?)", "\\?") #, "\\ |")
mydata$OrigValueStr <-gsub(paste(symbols, collapse = "|"), " ", ignore.case = TRUE, mydata$OrigValueStr)
## remove sdouble spaces
mydata$OrigValueStr <-gsub(" ", " ", mydata$OrigValueStr)
## remove descriptive lables
descriptions <-c("large","free", "tall", "terrestrial" ,"woody", "short", "small")
mydata$OrigValueStr <-gsub(paste(descriptions, collapse = "|"), "", ignore.case = TRUE, mydata$OrigValueStr)
## tree typos
tree <- c("treees", "t tree tree", "tre", "t tree", "tree treee", "tree tree", "tree\\(deciduous ",
"tree\\(evergreen ","treee", "treees ", "treeetreee", "treeetree", "treeet", "treeelet",
"conifer", "conifers", "tree treetree", "treetree")
mydata$OrigValueStr <-gsub(paste(tree, collapse = "|"), "phanerophyte", mydata$OrigValueStr)
mydata$OrigValueStr <-gsub("treee", "phanerophyte", mydata$OrigValueStr)
mydata$OrigValueStr <-gsub("phanerophytee", "phanerophyte", mydata$OrigValueStr)
tree <- c("phanerophytelet", "phanerophyte ", "phanerophyte phanerophyte", "phanerophytet", "phanerophyten", "mesophyte",
"phanerophyte\\(deciduous ", "phanerophyte\\(evergreen ")
mydata$OrigValueStr <-gsub(paste(tree, collapse = "|"), "phanerophyte", mydata$OrigValueStr)
## harmonise grammar
mydata$OrigValueStr <-gsub("lianas", "liana", mydata$OrigValueStr)
mydata$OrigValueStr <-gsub("phytes", "phyte", mydata$OrigValueStr)
## chamaephyte
chamaephyte <- c("chamaephyte", "nano-chamaephyte", "chamaephyte nano-chamaephyte")
mydata$OrigValueStr <-gsub(paste(chamaephyte, collapse = "|"), "chamaephyte", mydata$OrigValueStr)
## shrub typos. even though i can't do anything with them..
shrub <- c("srub", "shrubs")
mydata$OrigValueStr <-gsub(paste(shrub, collapse = "|"), "shrub", mydata$OrigValueStr)
mydata$OrigValueStr[] %>% factor(.) %>% table(.) %>% .[order(.)]
mydata <- mydata[mydata$OrigValueStr %in% c("chamaephyte", "geophyte", "phanerophyte", "hydrophyte"),]
## look again at levels
#levels(factor(mydata$OrigValueStr)) ## 65 levels
#mydata$OrigValueStr %>% factor(.) %>% table(.) %>% .[order(.)]
lfs <-droplevels(mydata)
rm(symbols, descriptions, tree, mydata)
## finished