草庐IT

R 因子

runoob 2023-04-07 原文

R 因子

因子用于存储不同类别的数据类型,例如人的性别有男和女两个类别,年龄来分可以有未成年人和成年人。

R 语言创建因子使用 factor() 函数,向量作为输入参数。

factor() 函数语法格式:

factor(x = character(), levels, labels = levels,
       exclude = NA, ordered = is.ordered(x), nmax = NA)

参数说明:

  • x:向量。
  • levels:指定各水平值, 不指定时由x的不同值来求得。
  • labels:水平的标签, 不指定时用各水平值的对应字符串。
  • exclude:排除的字符。
  • ordered:逻辑值,用于指定水平是否有序。
  • nmax:水平的上限数量。

以下实例把字符型向量转换成因子:

实例

x <- c("男", "女", "男", "男",  "女")
sex <- factor(x)
print(sex)
print(is.factor(sex))

执行以上代码输出结果为:

[1] 男 女 男 男 女
Levels: 男 女
[1] TRUE

以下实例设置因子水平为 c('男','女')

实例

x <- c("男", "女", "男", "男",  "女",levels=c('男','女'))
sex <- factor(x)
print(sex)
print(is.factor(sex))

执行以上代码输出结果为:

levels1 levels2 
男      女      男      男      女      男      女 
Levels: 男 女
[1] TRUE

因子水平标签

接下来我们使用 labels 参数为每个因子水平添加标签,labels 参数的字符顺序,要和 levels 参数的字符顺序保持一致,例如:

实例

sex=factor(c('f','m','f','f','m'),levels=c('f','m'),labels=c('female','male'),ordered=TRUE)
print(sex)

执行以上代码输出结果为:

[1] female male   female female male  
Levels: female < male

生成因子水平

我们可以使用 gl() 函数来生成因子水平,语法格式如下:

gl(n, k, length = n*k, labels = seq_len(n), ordered = FALSE)

参数说明:

  • n: 设置 level 的个数
  • k: 设置每个 level 重复的次数
  • length: 设置长度
  • labels: 设置 level 的值
  • ordered: 设置是否 level 是排列好顺序的,布尔值。

实例

v <- gl(3, 4, labels = c("Google", "Runoob","Taobao"))
print(v)

执行以上代码输出结果为:

 [1] Google Google Google Google Runoob Runoob Runoob Runoob Taobao Taobao
[11] Taobao Taobao
Levels: Google Runoob Taobao

有关R 因子的更多相关文章

  1. 量化交易-因子有效性分析 - 2

    量化交易-因子有效性分析一、因子的IC分析2.信息系数3.举例4.因子处理4.1去极值4.2标准化4.3市值中性化一、因子的IC分析判断因子与收益的相关性强度分析结果因子平均收益ICmeanICstdIC>0.02:IC大约0.02的比例,越大越严格IR:信息比率(历史表现的稳定性),IR=ICmean/ICstd2.信息系数定义:某一期的IC指的是该期因子暴露度和股票下期的实际回报值在横截面上的相关系数。因子暴露度:因子本身数值周期一天:该期的因子值(2023.1.11)、下期(2023.1.12)收益率(截面数据)计算方式:斯皮尔曼相关系数(RankIC)斯皮尔曼相关系数表明X(独立变量)

  2. javascript - 是否可以通过 Javascript 访问 %-width 元素的当前缩放因子而不会导致回流? - 2

    我试图在缓慢的UI中修复一些性能缓慢的javascript,我已经将主要原因缩小到jQuery.width()用于查看width:100%的实际像素大小的调用响应式布局中的元素,在一个需要经常响应用户操作的过程中。我添加了基于时间戳的测量,它们表明仅它就占了大约33%的延迟时间,这使得UI感觉清晰和UI感觉迟钝之间存在差异。删除这一行,用户界面感觉很快-但是,它把东西放在了错误的地方......好像wellestablishedthat.width()isrelativelyslowinjQuery>1.8主要有两个原因:Itforcesreflowwhilecalculatingth

  3. javascript - 测试是否所有数组元素都是数字的因子 - 在 for 循环内返回 - 2

    我有以下问题:Writeafunctionthatreturnstrueifallintegersinanarrayarefactorsofanumber,andfalseotherwise.我试过下面的代码:functioncheckFactors(factors,num){for(leti=0;i我的解决方案返回true,这是错误的。我知道是else语句搞砸了。但是我想明白为什么else语句不能去那里。 最佳答案 你在一家巧克力店工作,你的老板让你检查所有的巧克力(有辣椒巧克力、焦糖巧克力和咖啡巧克力)很好吃。他告诉你以下内容:

  4. Python量化交易05——基于多因子选择和选股策略(随机森林,LGBM) - 2

      参考书目:深入浅出Python量化交易实战在机器学习里面的X叫做特征变量,在统计学里面叫做协变量也叫自变量,在量化投资里面则叫做因子,所谓多因子就是有很多的特征变量。本次带来的就是多因子模型,并且使用的是机器学习的强大的非线性模型,集成学习里面的随机森林和LGBM模型,带来因子的选择策略和股票的选择策略。由于股票数据的获取都需要第三方库或者是专业的量化投资框架,很多第三方库某些功能需要收费(Tushare),而免费的一些库(证券宝)获取的数据特征变量又没那么多。所以这里是用聚宽量化投资框架,是可以免费使用一些功能的(只需要注册一个账号)。这里获取数据就采用聚宽平台的功能了。数据获取本次使用

  5. windows - QML 缩放不适用于非整数缩放因子 - 2

    我正在使用QML编写应用程序。当我按非整数因子缩放我的GUI时,我遇到了麻烦。Accordingtothedocs,Qt::AA_EnableHighDpiScaling应该启用与设备无关的像素,因此自动处理大部分缩放:TheapplicationattributeQt::AA_EnableHighDpiScaling,introducedinQt5.6,enablesautomaticscalingbasedonthepixeldensityofthemonitor.在blogpostabout5.6中,他们承认可能存在问题:Q:Arenon-integerscalefactorss

  6. windows - 什么比例因子用于在高分辨率显示器上映射字体大小? - 2

    我们的应用需要支持高分辨率显示器。目前,当应用程序出现在高分辨率监视器中时,它显示的文本太小。我们默认使用Arial12号字体。现在要使文本可见,我需要按比例更改字体大小。我发现很难想出一个公式来给出给定显示器分辨率的目标字体大小。这是我对问题的理解。1)在Windows上,默认情况下96像素对应于1逻辑英寸。这意味着当显示器分辨率增加时,以逻辑英寸为单位的屏幕尺寸也会增加。2)1点字体是逻辑英寸的1/72。因此,结合每逻辑英寸有96个像素这一事实,事实证明,每个字体点有96/72个像素。这意味着对于12点字体,它将占用的像素数为12*96/72=16像素。现在我需要知道我需要增加这些

  7. 因子分析——python - 2

    目录一、起源二、基本思想三、算法用途四、因子分析步骤五、factor_analyzer库四、实例详解1.导入库2.读取数据3.充分性检测3.1 Bartlett's球状检验 3.2 KMO检验4.选择因子个数4.1 特征值和特征向量4.2 可视化展示4.3可视化中显示中文不报错5.因子旋转5.1建立因子分析模型5.2 查看因子方差-get_communalities()5.3 查看旋转后的特征值 5.4 查看成分矩阵 5.5 查看因子贡献率 6.隐藏变量可视化7.转成新变量五·、参考资料一、起源        因子分析的起源是这样的:1904年英国的一个心理学家发现学生的英语、法语和古典语成绩

  8. javascript - 格式化数字以在每 1000 个因子处使用逗号 - 2

    我需要将像1234567这样的数字格式化为1,234,567但不知道该怎么做。我尝试使用TypeScript的货币管道,但在数字前面给出了USD或$。我想删除它并以这种方式格式化数字1,234,567。我该怎么做? 最佳答案 只需使用number(十进制)管道即可。举个例子:{{'1234567'|number:'1.0':'en-US'}}将产生输出1,234,567。如果您不更改默认语言环境(通过调用registerLocaleData()或提供LOCALE_ID),那么简单的{{'1234567'|number}}也可以。

  9. php - 将 "popularity"因子与 zend-search lucene 正确集成的最佳方法是什么? - 2

    我读过this而且我仍然对如何进行操作感到困惑。我有一个未索引的字段,用于计算正在搜索的一组播放列表的投票数。主搜索工作正常,但我还想将投票字段作为算法的一部分,但我不确定如何将非索引字段作为算法的一部分。谁能提供任何指导或示例? 最佳答案 您不必调整评分算法(顺便说一句,它实现了tf-idf)。如果您只想将浏览量整合到评分计算中,您可以在将搜索文档添加到索引之前“提升”它,例如:$doc=newZend_Search_Lucene_Document();$boostFactor=0.1;$doc->boost=(float)$nu

  10. java - 当负载因子大于 1 时,如何填充 java 中的 hashMap? - 2

    我尝试创建一个包含以下详细信息的HashMap:-HashMaptest=newHashMap();test.put(1,"Value1");test.put(2,"Value2");test.put(3,"Value3");test.put(4,"Value4");test.put(5,"Value5");test.put(6,"Value6");test.put(7,"Value7");test.put(8,"Value8");test.put(9,"Value9");test.put(10,"Value10");test.put(11,"Value11");test.put(12

随机推荐