我的问题 随着R学习的不断深入,R的各种函数接触的越来越多,但问题来了:辛苦搞明白的函数(尤其是参数多的)转眼间就忘记了。
我的尝试 ”对标“和知识”缝合“是近期学到的两个概念。那么在R函数学习方面,是不是也可以运用呢?我的选择了Excel与R对标。首先Excel是最常用到的数据处理软件(没有之一),而且它也有各种各样的函数,可以和R中的函数好好比对比对。
1、nchar(x)函数 描述(Description)计算X中的字符数量 用法(Usage)nchar(x, type = "chars", allowNA = FALSE, keepNA = NA),最简形式是nchar(x)。完全就是Excel的len(x)函数,在字符处理中具有不可或缺的作用。
2、substr(x,start,stop)函数描述(Description)提取或替换一个字符向量中的子串 用法(Usage) substr(x, start, stop) 或者 substr(x, start, stop) <- value。提取:对标Excel的mid(x,start,long)函数;替换:对标Excel的substitute()函数。
3、grep(patten,x,ignore,case=FALSE,fixed=FALSE)函数描述(Description)在X中搜索某种模式。若fixed=FALSE,则patterny为一个正则表达式。若fixed=TRUE,则patterny为一个文本字符串。返回值为匹配的下标。用法(Usage) grep(pattern, x, ignore.case = FALSE, perl = FALSE, value = FALSE,fixed = FALSE, useBytes = FALSE, invert = FALSE)。Excel中对应的是find或者findb两个函数。(正则表达式:利用特定符号表示某些特定的式子)
4、sub(pattern,replacement,x,ignore.case=FALSE,fixed=FALSE)函数描述(Description)在X中搜索patterny,并以文本replacement将其替换。若fixed=FALSE,则patterny为一个正则表达式。若fixed=TRUE,则patterny为一个文本字符串。用法(Usage) sub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE,fixed = FALSE, useBytes = FALSE)同样对标Excel的substitute()函数。其实Ctrl+F快捷键也是一种选择。
5、strsplit(x,split,fixed=FALSE)函数描述(Description)在split处分割字符向量X中的元素。若fixed=FALSE,则patterny为一个正则表达式。若fixed=TRUE,则patterny为一个文本字符串。用法(Usage)strsplit(x, split, fixed = FALSE, perl = FALSE, useBytes = FALSE) 。在Excel中没有完全对应的函数或快捷方式,但可以通过mid函数套用find函数实现其功能。
6、paste(....,sep=" ")函数描述(Description)连接字符串,分隔符为sep。用法(Usage) paste (..., sep = " ", collapse = NULL)。在Excel中可以用“&”或concatenate()函数实现其功能。
7、toupper(x)/tolower(x)函数描述(Description)大写/小写转换。用法(Usage)toupper(x)/tol-
ower(x)。在Excel中有upper()/lower()两个函数直接对应。
我的探索 在Excel中,常用的left()和right()的R似呼没有直接对应的函数。那能不能自己编一个呢?答案是可以的,下面是使用function()(《R语言实践》P99用户自编函数)的结果:如图
感谢:
谢谢您花时间读到这里,尤其是作出评论的亲。数据分析学习之路,有您真好!「但愿文章对你有价值」