在数据框中创建一个新变量并一步更改其值

格雷戈里·安德森

我有一列是数据框的一部分,df. 它充满了整数。假设它是现实公司在一天内售出的房屋数量。让我们称之为df$houses我想做第二列,称为df$quant房屋数量的分类,0 表示一天内售出 0-2 间房屋,1 表示 3-5 间房屋,2 表示 6-9 间房屋,3 表示超过 10 间房屋?我可以分两步完成。

1)df$quantdf$houses以下位置创建新列

df$quant <- df$houses

2) 更改 的值df$quant

df$quant[which(df$quant <= 2)] <- 0

等等。

不过,我想一步完成,创建新变量并用正确的值填充它。大多数情况下,我不必担心第二步中代码行的顺序是否正确。它会更健壮。

这可以用 if 语句完成吗?

非常感谢。

nēminem

我会做这样的事情:(使用cut

x <- 1:11
df <- data.frame(x)

myFunction <- function(x) as.integer(cut(x, c(-1, 2, 5, 9, max(x)))) - 1
df$new <- myFunction(df$x)
df
    x new
1   1   0
2   2   0
3   3   1
4   4   1
5   5   1
6   6   2
7   7   2
8   8   2
9   9   2
10 10   3
11 11   3

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 R 中另一个数据框中的值在数据框中创建新变量

在数据框中创建一个新变量,条件是另一个数据框

如何在数据框中创建一个新列,其值表示某个列中的值所属的范围?

在数据框中使用现有变量名称创建一个新变量,在匹配每个变量列表中的非 NA 值时填充它

根据其他两个变量在数据框中创建一个新变量

根据熊猫中另一列上的值在数据框中创建一个新列

R:如何在数据框中创建一个新列,从基数上计算观察值对变量具有相同值的次数

一个黄瓜步骤实现中具有某些值的变量集在下一步中将失去其值

在数据框中的第一个下划线之后从值创建新列

在数据框中,如何仅根据名称选择特定变量以进行进一步计算?

将数据框列表合并为一个数据框并一步汇总

删除列的数字(零)并在数据框中创建一个新列

在数据框中现有的时间列上创建一个新列

我想从旧数据框的更改中创建一个新数据框

在单个列中平均多个值以在R中的整洁数据框中创建一个新变量

基于熊猫数据框中的两列值创建一个新的数据框

创建一个在数据框中进行迭代的函数以搜索最新值,然后将其保存到新的数据框中

如何根据另一个数据框中的条件在数据框中创建新列?

根据下一个值是否达到阈值在数据框中创建组

为数据框列中的每一行创建一个新变量

从Pandas中另一个数据框的顶部值创建一个新的数据框

如何创建一个变量,该变量只能在要分配给它的新值满足javascript中的预定义条件时才能更改其值?

使用不同数据框中的另一个变量的条件创建新变量

使用条件从数据框中的现有变量创建一个新变量

熊猫:根据另一个数据框中的值在数据框中添加新列

根据与另一个数据框的匹配在数据框中创建新列

在Raku中一步使用一个变量并为其分配一个表达式

如何在 Pandas 数据框中创建一个新列,其值由同一行中的其他列确定

我将如何创建一个具有aa列的唯一值并对其进行计数的新数据框?