楼主: Charlenefan3
2220 4

[问答] 求教R语言中,apply函数里面的function 是自己写的一个计算 语句要如何写?? [推广有奖]

  • 0关注
  • 0粉丝

已卖:2份资源

本科生

63%

还不是VIP/贵宾

-

威望
0
论坛币
3093 个
通用积分
3.1394
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
484 点
帖子
45
精华
0
在线时间
124 小时
注册时间
2018-11-2
最后登录
2024-12-20

楼主
Charlenefan3 发表于 2019-5-29 13:50:51 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
求教大神们:

我想对一个data.frame的每一行数 进入如下计算 该行前五个数  每个数乘以0.06 后十个数每个数乘以0.07  然后将这两个值相加 得到一个新的数  因为对行进行重复计算 我就运了apply() 函数

但是我的代码出现了错误

我写的是:
SeansonNet <- apply(SeasonBack[,2:ncol(SeasonBack)],1,function(x) 0.06*sum(SeasonBack[x,(2):(6)])+0.07*sum(SeasonBack[x,(7):(16)]))  
报错为:
Error in xj[i] : only 0's may be mixed with negative subscripts

请问要怎么改呢?我查到出这个问题大多数因为没有对类似i-1的写法加上括号 但是我没有这样的表达呀 有2:6 我都加上了括号 可是还是报这个错误


谢谢各路大神呀!!!

二维码

扫码加我 拉你入群

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

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

关键词:function apply函数 apply appl R语言

沙发
熬夜头会秃 发表于 2019-5-29 20:10:11 来自手机
Charlenefan3 发表于 2019-5-29 13:50
求教大神们:

我想对一个data.frame的每一行数 进入如下计算 该行前五个数  每个数乘以0.06 后十个数每个 ...
把function拿出来先定义一下,然后再将命名后的函数丢回去就行了

藤椅
cheetahfly 在职认证  发表于 2019-5-30 08:43:38
function(x) sum(x * c(rep(0.06, 5), rep(0.07, 10)))

板凳
Charlenefan3 发表于 2019-5-30 17:08:10
熬夜头会秃 发表于 2019-5-29 20:10
把function拿出来先定义一下,然后再将命名后的函数丢回去就行了
啊 懂了 谢谢!!我去试试

报纸
Charlenefan3 发表于 2019-5-30 17:08:57
cheetahfly 发表于 2019-5-30 08:43
function(x) sum(x * c(rep(0.06, 5), rep(0.07, 10)))
原来要这样写 非常感谢!!!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-4 01:51