问题标签 [r-factor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
2898 浏览

r - 多个类别的 ifelse 风格重新编码的成语

我经常遇到这个问题,以至于我认为必须有一个好的成语。假设我有一个带有一堆属性的 data.frame,包括“产品”。我还有一把将产品转化为品牌+尺寸的钥匙。产品代码 1-3 是 Tylenol,4-6 是 Advil,7-9 是 Bayer,10-12 是 Generic。

编码这个的最快(就人类时间而言)方法是什么?

ifelse如果有 3 个或更少的类别,我倾向于使用 nested ,如果超过 3 个,我会输入数据表并将其合并。有更好的想法吗?Stata 有一个非常适合这类事情的recode命令,尽管我认为它过度促进了数据代码混合。

0 投票
2 回答
4440 浏览

r - 基于因子变量中的观察数量的子集

您如何根据因子变量水平的观察次数进行子集化?我有一个包含 1,000,000 行和近 3000 个级别的数据集,我想用更少的 200 个观察值对级别进行子集化。

正如您从上面的摘要中看到的那样,有些因素只有几个 obs,我想删除小于 100 的因素。

我尝试了以下方法,但没有奏效:

0 投票
4 回答
39395 浏览

r - 根据一个或多个其他列中的值对因子进行排序

我浏览了许多关于排序因素的帖子,但还没有找到适合我的问题的匹配项。不幸的是,我对 R 的了解还很初级。

我有一个正在使用的考古文物目录的子集。我正在尝试对诊断历史工件类型和站点测试位置进行交叉制表。使用 ddply 或 tapply 很容易。

我的问题是我想按平均诊断日期(数字/年份)对工件类型(一个因素)进行排序,并且我一直按字母顺序获取它们。我知道我需要将其设为有序因子,但无法弄清楚如何按另一列中的年份值对其进行排序。

需要订购的:

因子 (IDENTIFY) 需要按日期 (MIDDATE) 排序。我以为我有

但得到警告:

IDENTIFY 有大约 130 个因子水平,许多具有相同的 MIDDATE 值,所以我需要按 MIDDATE 和另一列 TYPENAME 订购 IDENTIFY。

更详细一点:

我有一个 dataframe Catalog,它分解(即str(Catalog))为:

我需要制作IDENTIFY一个有序因子,并按MIDDATE-> TYPENAME-> alpha by重新排序IDENTIFY

我没有真正得到的是如何通过来自多个列的组合订单重新排序。

我只会在数据库中执行此操作,但是我正在运行的很多内容都是各种交叉表中的加权平均值(例如,按位置划分的工件类的地表以下加权平均深度)...

...在 Access 中可行,但混乱且不可预测。在 R 中管理起来更容易、更干净,但我宁愿不必手动重新排序结果表。

我试图产生的是沿着这些方向的一些东西:

...但我需要他们按逻辑(即时间/类型)顺序而不是字母顺序排序。

0 投票
1 回答
793 浏览

r - 向 quantmod/xts 添加一个因子列

我在这里做错了什么?

我希望我的 xts/quantmod 对象中的一列成为一个因素。我不知道为什么它不起作用。

谢谢

0 投票
2 回答
2279 浏览

r - 合并几个因子变量

这是我之前的一个问题的后续:Combining Survey Items in R/Recoding NAs

我有一个包含多个因子变量的数据框,我想将它们组合成一个变量。

我希望组合数据框看起来像这样。

使用上一篇文章中的技术 within(df, x3 <- ifelse(is.na(x1), x2, x1))适用于数字,但似乎不能很好地处理这些因素。

0 投票
1 回答
1337 浏览

r - 使用 GAM 拟合降低因子水平

我正在使用 GAM 模型根据给定点的某些环境条件来预测物种丰度。我创建了一个广义加法模型 (GAM) 来执行此操作并以此为基础进行预测。但是,我在模型方程中有一个分类变量(沉积物类型 = [1,2,3,4])。该方程似乎工作得很好,但是拟合的结果似乎将因子水平“1”吸收到截距中。见下文。

谁能解释这个模型发生了什么?我不完全明白。这是在 R 中使用 mgcv 包运行的。谢谢!

0 投票
2 回答
3079 浏览

r - 根据因子级别删除行

我有一个df格式为“long”的data.frame。

问题

如何删除df$time每个级别不存在唯一元素的行df$site

在这种情况下,我想删除df[3,],因为df$time时间戳 33 仅存在于站点 A 而不是站点 B 和站点 C。

期望的输出:

data.frame 很容易有 800k 行和 200k 唯一时间戳。我不想使用循环,但我不知道如何使用这种情况下的矢量化apply()函数lapply()

0 投票
2 回答
216 浏览

r - R 因子值变化

我正在尝试在 R 中进行一些数据操作。我有 2 个数据框,一个是训练数据,另一个是测试数据,所有数据都是分类数据并存储为因子变量。

数据中有一些 NA,我正在尝试将它们转换为“-1”。当我为训练数据做这件事时,一切都很好,但对测试数据却不是。

在我运行的循环中有些东西会改变值,但我不知道是什么。

这是之前的:

这是循环:

后面是这样的:

我已经看到使用字符-> 数字转换时上移了一个,但我无法弄清楚为什么会发生这种情况,尤其是对于其中一个数据帧/循环。

有什么建议么?

0 投票
3 回答
26735 浏览

r - 在 R 中对因子使用 ifelse

我正在重组一个物种名称数据集。它有一个带有拉丁名称的列和一个带有琐碎名称的列(如果可用)。我想创建一个第三列,在可用时给出琐碎的名称,否则是拉丁名称。琐碎名称和拉丁名称都属于因子类。我尝试过使用 if 循环:

它给了我正确的 trivnames,但只在提供拉丁名称时给出 NA。
当我使用 ifelse 时,我只得到数字。

一如既往,所有帮助表示赞赏:)

0 投票
2 回答
573 浏览

r - R多个文件“拆分和绘图”

我有不同的 csv 文件,我正在阅读这样的文件:

我接下来想要实现的是根据名为“案例”的列拆分(分配因子)文件,并为每个“案例”绘制条形图中剩余列的所有平均值。所以最后如果我有 2 个文件、50 个因子和 26 列,我将得到 100 个带有 26 条的图。

所以我需要每个文件,比如,

但是对于每个文件,然后为每个因子绘制 26 条图。

希望这很清楚。

感谢您的任何建议。

例如,对于我拥有的每个文件

所以因数是AAA, BBB, CCC, DDD, EEE。我需要为每个文件绘制这些因子的每一列的平均值。

谢谢你的支持。