R语言 Data

R语言 Data

来自: one x one 2020-07-30 16:52:14

在一些大神的帖子里面的代码中经常看到data( )这个函数,括号里跟着一个数据框。

我看了一下RStudio对这个函数的描述,写的是加载特定的dataset,或者是列出所有可用的dataset。

我想请问一下,使用data( )的目的是什么?我猜想是不是使用这个函数对某个数据框进行加载以后,就可以直接使用它而不需要先加载这个数据框所在的包了?

比如在VIM包中有sleep这样一个数据框,因为不是R自带的包,所以在使用这个数据框时我们需要先library(VIM),然后才能使用sleep这个数据框;而如果使用data(sleep)这样一个函数,就可以不需要先加载VIM包就可以直接用了。

不知道我的理解对么?求解答

  • R语言 Data

    Henry (All the Dots Connected) 2020-07-30 19:45:03

    你的理解是对的 :-) 使用data()的时候不需要加载某个包,但是如果你已经加载过某个包了,直接使用数据框的名字就行,连data()也不需要。

  • R语言 Data

    one x one 楼主 2020-07-30 20:10:01

    你的理解是对的 :-) 使用data()的时候不需要加载某个包,但是如果你已经加载过某个包了,直接使 你的理解是对的 :-) 使用data()的时候不需要加载某个包,但是如果你已经加载过某个包了,直接使用数据框的名字就行,连data()也不需要。 ... Henry

    感谢!

  • R语言 Data

    Einzbern 2020-07-30 20:19:12

    你说的这种情况是对的,这个地方应该是`data(sleep, package = "VIM)`;但是`data`本身倒不是为不加载包而加载数据集设计的,而是在加载包的时候不要顺带着加载数据集(因为数据集太大太占内存了,通常加载包是为了用里面的函数,数据集往往是帮助文档中举example用的),要用到数据集的话再用`data`单独加载。 这时其实不是加载了包就直接可以使用里面的一些数据集,你会发现有些包`library`了之后还要再`data`里面的数据集才能用,我一时想不起例子。 最后,值得一提的是,后来R出了个叫“lazy-loading”的东西,这样包里带的数据集只要加载了包就可以直接使用,但你只要没用那个数据集它是没有加载到内存里的,这样就同时解决了不会直接加载到内存和不需要再单独`data`两个问题复,所以一些比较state-of-the-art的包都不再用data加载数据集了。

  • R语言 Data

    one x one 楼主 2020-07-31 21:06:30

    你说的这种情况是对的,这个地方应该是`data(sleep, package = "VIM)`;但是`data`本身倒不 你说的这种情况是对的,这个地方应该是`data(sleep, package = "VIM)`;但是`data`本身倒不是为不加载包而加载数据集设计的,而是在加载包的时候不要顺带着加载数据集(因为数据集太大太占内存了,通常加载包是为了用里面的函数,数据集往往是帮助文档中举example用的),要用到数据集的话再用`data`单独加载。 这时其实不是加载了包就直接可以使用里面的一些数据集,你会发现有些包`library`了之后还要再`data`里面的数据集才能用,我一时想不起例子。 最后,值得一提的是,后来R出了个叫“lazy-loading”的东西,这样包里带的数据集只要加载了包就可以直接使用,但你只要没用那个数据集它是没有加载到内存里的,这样就同时解决了不会直接加载到内存和不需要再单独`data`两个问题复,所以一些比较state-of-the-art的包都不再用data加载数据集了。 ... Einzbern

    意思是不是使用data()的目的在于能单独使用某个数据框,而避免了为了使用这一个数据框就得library把包里所有的数据集都加载了浪费内存,归根结底我们不喜欢的是加载某个包时同时加载的dataset,是这个意思么

  • R语言 Data

    Einzbern 2020-07-31 23:26:49

    不是,是许多包library了也不会加载dataset,要再用data加载其中包含的dataset。

  • R语言 Data

    one x one 楼主 2020-08-01 08:52:58

    不是,是许多包library了也不会加载dataset,要再用data加载其中包含的dataset。 不是,是许多包library了也不会加载dataset,要再用data加载其中包含的dataset。 Einzbern

    哦哦,懂了。谢谢

  • R语言 Data

    one x one 楼主 2020-08-02 21:24:49

    不是,是许多包library了也不会加载dataset,要再用data加载其中包含的dataset。 不是,是许多包library了也不会加载dataset,要再用data加载其中包含的dataset。 Einzbern

    我找到了一个,mlbench包里面的BostonHousing数据框就是你说的这种情况

  • R语言 Data

    Einzbern 2020-08-02 22:22:50

    我找到了一个,mlbench包里面的BostonHousing数据框就是你说的这种情况 我找到了一个,mlbench包里面的BostonHousing数据框就是你说的这种情况 one x one

    嗯呢,那个dataset应该不小。

  • R语言 Data

    豆友JQbIEtBxEk 2022-05-08 10:27:11

    你说的这种情况是对的,这个地方应该是`data(sleep, package = "VIM)`;但是`data`本身倒不 你说的这种情况是对的,这个地方应该是`data(sleep, package = "VIM)`;但是`data`本身倒不是为不加载包而加载数据集设计的,而是在加载包的时候不要顺带着加载数据集(因为数据集太大太占内存了,通常加载包是为了用里面的函数,数据集往往是帮助文档中举example用的),要用到数据集的话再用`data`单独加载。 这时其实不是加载了包就直接可以使用里面的一些数据集,你会发现有些包`library`了之后还要再`data`里面的数据集才能用,我一时想不起例子。 最后,值得一提的是,后来R出了个叫“lazy-loading”的东西,这样包里带的数据集只要加载了包就可以直接使用,但你只要没用那个数据集它是没有加载到内存里的,这样就同时解决了不会直接加载到内存和不需要再单独`data`两个问题复,所以一些比较state-of-the-art的包都不再用data加载数据集了。 ... Einzbern

    我想请教一下,我用rstudio导入了声音文件,在右边data里都看见了,为什么使用的时候一直提示没有这个数据集呢。

你的回应

回应请先 登录 , 或 注册

R语言 Data

最新讨论  ( 更多 )

  • SPSS答疑帮助贴   (Andy Star)
  • SPSS Mplus 问卷量表的问题都可以问!!   (Chisato Shoda)
  • 求助:做了正态检验,发现有的符合正态分布,有的不符合正态分...   (徐昂个要长个)
  • 统计学求助   (EHHH!)
  • 求助双项固定效应   (精神正常)