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) 注意比较二者差别