R语言 seq函数
函数式编程是种编程范式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是 λ 演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。和过程化编程相比,函数式编程里,函数的计算可随时调用。
所以说JavaScript算是函数式编程语言。
是的。C语言是面向过程的语言,也就是逻辑流程全部是由函数编写的。它与面向对象的差别就是面向对象的操作都是由对象的方法编写的,而面向过程的是依靠函数编写的。
打个比方:写个你去银行存钱的程序
C语言:写出存钱的函数,执行
面向对象:写出一个对象(就是你),写出一个方法(让你会存钱),执行这个存钱的方法就行了
使用方法如下:
seq(0,1,length.out=100)
上一行语句生成一个100个值的等差数列,首项为0,末项为1
拓展:
你还可以使用rep函数生成向量。
用法如下:
rep(0,100)
第一个位置表示重复的单元,第二个位置表示重复的次数。这样会生成一个100个0的向量。
在一个文档中定位到第一个空行,读取其后的所有文本 get.msg <- function(path) { con <- file(path, open = "rt", encoding = "latin1") text <- readLines(con) # The message always begins after the first full line break msg <-... 文档定位第空行读取其所文本
get.msg <- function(path)
{
con <- file(path, open = "rt", encoding = "latin1")
text <- readLines(con)
# The message always begins after the first full line break
msg <- text[seq(which(text == "")[1]+1, length(text), 1)]
close(con)
return(paste(msg, collapse = "
"))
}
报错:
Error in seq.default(which(text == "")[1]+1, length(text), 1) :
'from' cannot be NA, NaN or infinite 展开 示例文档:
From 12a1mailbot1@web.de Thu Aug 22 13:17:22 2002
Return-Path: <12a1mailbot1@web.de>
Delivered-To: zzzz@localhost.spamassassin.taint.org
Received: from localhost (localhost [127.0.0.1])
by phobos.labs.spamassassin.taint.org (Postfix) with ESMTP id 136B943C32
for <zzzz@localhost>; Thu, 22 Aug 2002 08:17:21 -0400 (EDT)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dwindows-1252" http-equiv=3DContent-T=
ype>
seq函数是产生序列用的他的用法是seq(from,to,by)或者是seq(下界,by=,length=)
下面是用r运行的结果
seq(2,6,2)
[1] 2 4 6
seq(10,by=2,length=5)
[1] 10 12 14 16 18
追问:
我知道seq函数的用法。我只是想问,这里为什么会报错
追答:
你的from是空的,你需要设定一下from,我觉得你用which(text == "")[1]+1作为from不对吧,你这样写不懂什么意思
追问:
需求是从那段文本中定位第一个空行,那么text==“”,该写什么呢?无论我写什么,都会报错。把==改成!=就不报错,但是结果还是不对
追答:
但是你的文本里有 多个空格, 这样表述感觉不正确
追问:
[1]不是表示第一个么?
兄弟,你是不是在看《机器学习:实用案例解析》这本书。这个问题我也遇到了。把这一行:con <- file(path, open = "rt", encoding = "latin1")中的encoding删掉,就解决了。(改成‘utf-8’也不行)就是字符编码的问题。
seq(which(text == "")[1]+1, length(text), 1)函数报'from' cannot be infinite,seq方法即向量生成,必须给它一个起点元素。因为which()方法从text字符向量中找空字符串元素找不到。问题出在text中。readLines方法在读到错误编码后会中断,导致text中可能还没有读到第一个空行。所以上面也报in readLines:incomplete final line found(最终行不完整)
ps:我也是找了一圈seq,readLines的文档,最后把控制台warning的文件单条拎出来file、readLines之后print出来,才发现问题出在file方法这儿。
seq函数是产生序列用的他的用法是seq(from,to,by)或者是seq(下界,by=,length=)
下面是用r运行的结果
seq(2,6,2)
[1] 2 4 6
seq(10,by=2,length=5)
[1] 10 12 14 16 18
甘岸舒泰: seq函数是R语言中的基本函数,其功能是生成一个向量. 使用方法如下: seq(0,1,length.out=100) 上一行语句生成一个100个值的等差数列,首项为0,末项为1 -seq(-3,3,0.02) 生成3到-3的间隔为0.02的等差数列拓展: 你还可以使用rep函数生成向量. 用法如下: rep(0,100) 第一个位置表示重复的单元,第二个位置表示重复的次数.这样会生成一个100个0的向量
科尔沁右翼前旗15266377543: R语言几rep(),seq()函数创建1234234534564567向量3.使用rep() 及seq(),创建向量1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7; - ?
甘岸舒泰:[答案] a1 a2 b1 b2 x x就是你要的. 觉得对请采纳我的答案.
科尔沁右翼前旗15266377543: 怎么用R软件判断输入的数是奇数还是偶数 - ?
甘岸舒泰: #1.如果总体是自然数这样的等差数列,可以直接利用seq函数挑出奇数(或偶数): n <- 1:100( ji <- seq(from=1,to=100,by=2) ) ( ou <- setdiff(n,ji) ) rm(ji);rm(ou)#2.如果总体是杂乱无章的集合,可以写个小函数判断某个数的奇偶: jishu <- function(x){ ifelse(x%%2 ==0,F,T) }( ji <- n[jishu(n)] ) ( ou <- n[!jishu(n)] )#通过上面的任一一种方法将总体的奇数偶数区分开,接下来就可以使用sample函数抽样了: sample(ji,5)
科尔沁右翼前旗15266377543: R语言几rep(),seq()函数创建1234234534564567向量 - ?
甘岸舒泰: a1 <- seq(0, 3, by = 1)a2 <- rep(a1, each = 4) b1 <- seq(1, 4, by = 1) b2 <- rep(b1, 4) x <- a2 + b2x就是你要的.觉得对请采纳我的答案.
科尔沁右翼前旗15266377543: r语言中怎么用contrasts把某一类别设为0 - ?
甘岸舒泰: seq函数是R语言中的基本函数,其功能是生成一个向量.
科尔沁右翼前旗15266377543: 在R语言中,程序中标点符号在中文与英文情况下有区别吗? - ?
甘岸舒泰: 因为几乎所有的编程语言都是由英文编写,所以进行编写代码的时候,几乎不能出现中文的字符,R中同样,例如:生成一个seq(1, 10, by = 2);如果你将seq()函数中的英文逗号,改成中文逗号,就会提示不识别这种字符
科尔沁右翼前旗15266377543: 关于R语言,求解释下... - ?
甘岸舒泰: seq(2,20,2)这个是创建一个向量,从2到20步长是2.seq是sequence的简写,就是序列的意思.结果是2,4,6,...,18,20 如果是seq(2,20,1)或者seq(2,20) 那么结果是2,3,4,...,18,19,20 有更简单的方法:2*(1:10) 其中括号可以省略,因为冒号的运算优先级更高.rep(2,10)是2重复10次的,就是2,2,2,...,2 (10个2) rep是replicate的简写,是重复的意思.那么整句话:rep(seq(2,20,2), rep(2,10)) 就是 2,4,6,...,18,20这个序列,第一个元素重复2次,第二个元素重复2次,...,第10个元素重复2次.
科尔沁右翼前旗15266377543: R语言中如何将一个数据集随机等分成4部分 - ?
甘岸舒泰: 1、使用“:“,如x=1:10,注意该方法既可以递增也可以递减,如y=10:1 2、seq,有两种用法:①seq(起点,终点,步长); ②seq(length=9, from=1, to=5)seq还有一种简写:seq(x) #相当于1:length(x),但当length(x)为0时,返回integer(0) 3...
科尔沁右翼前旗15266377543: R语言MLP函数的输出结果表示什么,看不懂?
甘岸舒泰: MLP这个其实还是很好懂的,你不仅要将RSNNS包对应的pdf文档仔细阅读,更需要的是进入SNNS的网站查看文档.Stuttgart Neural Network Simulator(SNNS)是德国斯图加特大学开发的优秀神经网络仿真软件,为国外的神经网络研究者所广泛...
科尔沁右翼前旗15266377543: 在r语言中产生一个随机1 - 9的数 - ?
甘岸舒泰: floor(runif(1,min=1,max=9))