全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2418 8
2015-03-11
    在下对于统计,计算机都是外行,平常只会用一些办公软件office之类的。编程是一窍不通,也没什么高数基础,惭愧。
    现在想自学R语言,下载了R和一些学习资料,但由于基础太差,看起来有困难。遇到个问题,想请教一下,可能对于各位来说是再简单不过的事情了。以后肯定还会有很多问题,想从这个帖子一并请教,不知合适否。

在工作区输入

>  x<-c(7,8,9,10)        

>  10*x               #10乘以x

返回数值:[1]  70  80  90 100

但是如果输入

>  x<-c(7,8,9,10)

>  y<-sum(log10(1:x))

>  y

就出现“警告信息:In 1:x : 数值表达式一共有4元素: 只用了第一个”,只出现了x=7的结果。请问如何能让这四个数全用上,一次算4个结果呢?


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-3-11 11:06:38
1:x?不知道你想要的是什么?是log10(7):log10(10)?直接把1:x改成x就好了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-3-11 11:12:34
于洁晨 发表于 2015-3-11 11:06
1:x?不知道你想要的是什么?是log10(7):log10(10)?直接把1:x改成x就好了
是这样的,我想算一个很大数的阶乘,用factorial(k)这个函数不行,因为k不能大于170,否则溢出。从网上搜了一下找到一个方法y=sum(log10(1:n));10^y就是n的阶乘。现在我想算多个数的阶乘,想一下都算出来,就是上面的7,8,9,10四个数(当然也可以是其他的数)的阶乘都算出来,不想一个个的算.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-3-11 12:30:16
自定义函数f<-function(n){return(sum(log10(1:n)))},对x使用lapply(x,f);你确定这公式是用来算阶乘的?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-3-11 14:52:29
于洁晨 发表于 2015-3-11 12:30
自定义函数f
是用来算阶乘的,我试了。你的意思是不是这样
>  n<-c(7,8,9,10)
>  f<-function(n){return(sum(log10(1:n)))}
> f(n)
可还是出来“警告信息:In 1:n : 数值表达式一共有4元素: 只用了第一个”,只返回了n=7的一个数值,跟之前的一样,不能一下算出4个结果啊。是我输入的方法不对吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-3-11 15:58:26
-.-不是f(n)。。。是lapply(x,f)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群