Skip to content

Commit

Permalink
simplification of letterToNumber
Browse files Browse the repository at this point in the history
  • Loading branch information
Scumdogsteev committed Jul 26, 2015
1 parent acad9b6 commit 21591e4
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 18 deletions.
25 changes: 12 additions & 13 deletions R/letterToNumber.R
Original file line number Diff line number Diff line change
Expand Up @@ -39,21 +39,20 @@ letterToNumber <- function(value, qz = 1) {
value <- toupper(value)
valueSplit <- strsplit(value, "")[[1]]
numString <- as.character()
phonemap <- function(char) {
ifelse(is.element(char, LETTERS[1:3]), "2",
ifelse(is.element(char, LETTERS[4:6]), "3",
ifelse(is.element(char, LETTERS[7:9]), "4",
ifelse(is.element(char, LETTERS[10:12]), "5",
ifelse(is.element(char, LETTERS[13:15]), "6",
ifelse(is.element(char, LETTERS[16:19]), "7",
ifelse(is.element(char, LETTERS[20:22]), "8",
ifelse(is.element(char, "-") |
suppressWarnings(!is.na(as.numeric(char))), char,
"9"))))))))
}
for (char in valueSplit) {
if (qz == 0 && (char == LETTERS[17] | char == LETTERS[26]))
{ elem <- "0" } else { elem <- phonemap(char) }
{ elem <- "0"
} else { elem <- ifelse(is.element(char, LETTERS[1:3]), "2",
ifelse(is.element(char, LETTERS[4:6]), "3",
ifelse(is.element(char, LETTERS[7:9]), "4",
ifelse(is.element(char, LETTERS[10:12]), "5",
ifelse(is.element(char, LETTERS[13:15]), "6",
ifelse(is.element(char, LETTERS[16:19]), "7",
ifelse(is.element(char, LETTERS[20:22]), "8",
ifelse(is.element(char, "-") |
suppressWarnings(!is.na(as.numeric(char))), char,
"9"))))))))
}
numString <- c(numString, elem)
}
return(paste0(numString, collapse = ""))
Expand Down
10 changes: 5 additions & 5 deletions R/numberToLetter.R
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ numberToLetter <- function(value, decreasing = FALSE, qz = 1) {
value <- toupper(value)
valueSplit <- strsplit(value, "")[[1]]
strList <- list()
mapphone <- function(char) {
phonemap <- function(char) {
if (char == "2") { strsplit(LETTERS[1:3], "") } else {
if (char == "3") { strsplit(LETTERS[4:6], "") } else {
if (char == "4") { strsplit(LETTERS[7:9], "") } else {
Expand All @@ -54,15 +54,15 @@ numberToLetter <- function(value, decreasing = FALSE, qz = 1) {
for (char in valueSplit) {
letterSplit <- if (qz == 0) { if (char == "0") { list(LETTERS[17],
LETTERS[26])
} else {
} else {
if (char == "7") { c(LETTERS[16],
strsplit(LETTERS[18:19],
"")) } else {
if (char == "9") {
strsplit(LETTERS[23:25], "") }
else { mapphone(char) }}}}
else { mapphone(char) }
strList[[length(strList)+1]] <- letterSplit
else { phonemap(char) }}}}
else { phonemap(char) }
strList[[length(strList) + 1]] <- letterSplit
}
strDF <- expand.grid(strList)
lettString <- do.call(paste0, strDF[1:ncol(strDF)])
Expand Down

0 comments on commit 21591e4

Please sign in to comment.