楼主: Laplace_Yin
2202 6

[问答] R的函数中怎么构造隐藏数据 [推广有奖]

  • 0关注
  • 1粉丝

本科生

72%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0001
学术水平
2 点
热心指数
3 点
信用等级
0 点
经验
1253 点
帖子
69
精华
0
在线时间
75 小时
注册时间
2012-3-6
最后登录
2016-12-4

楼主
Laplace_Yin 发表于 2013-4-15 11:04:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如说,我在写一个函数,然后最后我想得到的object=list(A=A,B=B,C=C,D=D,E=E).假设通过函数得到了变量var然后,因为B太长,所以在输出var的时候不想让B输出出来,只有在输出var$B的时候才输出B。什么函数具有这个功能?
二维码

扫码加我 拉你入群

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

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

关键词:object list VaR IST ect

沙发
ntsean 发表于 2013-4-15 11:22:38
把你的object定义成一个新的class
然后写个print函数

藤椅
Laplace_Yin 发表于 2013-4-15 23:06:20
ntsean 发表于 2013-4-15 11:22
把你的object定义成一个新的class
然后写个print函数
我可以集成到函数里吗?写print的话,每个结果输出都得用print(变量,输出方式),效率有点低啊

板凳
ntsean 发表于 2013-4-16 00:45:37
Laplace_Yin 发表于 2013-4-15 23:06
我可以集成到函数里吗?写print的话,每个结果输出都得用print(变量,输出方式),效率有点低啊
举个例子

myfunction <- function(x) {
        x1 <- rnorm(10)
        x2 <- rnorm(100)
        x3 <- rnorm(1000)
        x4 <- rnorm(10000)
            y <- list(x1=x1, x2=x2, x3=x3, x4=x4)
        class(y) <- "myobject"
        return(y)
}

print.myobject <- function(x) {
        len <- sapply(x, length)
        print(x[len < 200])
}

x <- myfunction(1)
x
names(x)

这里 x 是你的返回object,里面有不同长度, 在函数里面把你的返回list定义成一个新的object
然后对这个object定义一个print 函数,只对list里面长度<200的print
这样每次你函数反回的值, 打印出来的时候自动只打印<200的部分

报纸
trier2006 发表于 2013-4-16 09:18:44
帮顶
最好的医生是自己,最好的药物是时间……

地板
famousid 发表于 2013-4-16 16:33:24
学习了

7
Laplace_Yin 发表于 2013-4-16 17:04:18
ntsean 发表于 2013-4-16 00:45
举个例子

myfunction
soga!膜拜大神!大受启发啊,我都找到构造plot函数的方法了,太感谢了!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-6 06:30