R/compare_pinyin.R

Defines functions compare_pinyin

Documented in compare_pinyin

#' This function compares a list of pairs of pinyin
#'
#'  The words are easy to sound wrongly. The return can be used to make a table in org mode with C-c |.
#' @author lgm
#' @param list: list of pinyin pairs
#' @return pinyin vector
#' @export
#' @examples
#' pl <- list(c("lan","ren"),c("leng","reng"))
#' compare_pinyin(pl)
#' pl <- list(c("lan","ran"),c("lao","rao"),c("le","re"),
#' c("lou","rou"),c("liang","rang"),c("long","rong"), c("lun","run"),
#' c("leng","reng"),c("luan","ru"))
#' nl <- list(c("nei","lei"),c("len","nen"),c("luo","nuo"))
#' compare_pinyin(c("bei","bai"))

compare_pinyin <- function(pypairs ){
	# compare a pair pin yin and table them
	#py1 = "fa"
	# py2="hua"
	compare_py <- function(apair) {
		library(gmdata)
		py1 <- apair[1]
		py2 <- apair[2]
		pyt1 <- search_with_py(py1)
		pyt2 <- search_with_py(py2)
		maxline <- max(dim(pyt1)[1],dim(pyt2)[1])
		maxline
		pychar1  <-  apply(nchar(pyt1),2,max)
		pychar2  <-  apply(nchar(pyt2),2,max)

		for (i in 1:maxline){
			if (i <= dim(pyt1)[1]) {
				t1 <- pyt1[i,]
			} else { t1 = NA}

			if (i <= dim(pyt2)[1]){
				t2 <- pyt2[i,]
			} else {t2 <- NA}

			cat(paste0(t1,",\t",t2,"\n"))
		}
	}

	for (i in pypairs) {
		compare_py(i)
	}

}
Gabegit/gmdata documentation built on May 6, 2019, 5:32 p.m.