r语言笔记 jn


get_range <- function(data_name , row_name){
library(stringr)
load(data_name)
data_str <- str_replace(a,".Rdata" ,"")
data <- eval(parse(text = data_str))
data_set <- as.numeric(data[[row_name]])
max_num <- max(data_set)
min_num <- min(data_set)
range_num <- data.frame(data = data_str , max = max_num , min = min_num)
return(range_num)
}

test1 <- get_range(a, 2)
print(test1)

注意此段代码函数内有对象a,此时需传入对象也为a才可以运行,即可以传入外部数据

#判断字符串中是否包含子串
##if 条件 取非 为! 不是not
if(! sapply(".Rdata", grepl,a)){
print(1)
}

print(0)

> a <- c('a','b','c','d')
> b <- 'balabala'
> sapply(a, grepl,b)
    a     b     c     d 
TRUE  TRUE FALSE FALSE

脚本中调用脚本

最简单的方法就是每次引用时把写好的函数复制一下,到R console 中,然后写其他的。然后,编好的函数写成.r 文件,下次直接使用命令 source(function.r)就能导入使用了。

#step <- select(data10 , a = abs(min(data10$entropy))/100 ) select 不能指定列名 所以对列做操作时还是使用summarize
##step <- summarize(data10 , a = abs(min(data10$entropy))/100) 注意比较二者差别

原文地址:https://www.cnblogs.com/awishfullyway/p/6611464.html