如何在 r 中将 true 和 false 转换为 1 和 0


您可以使用以下基本语法将具有TRUEFALSE值的列转换为 R 中具有值10的列:

 df$my_column <- as. integer (as. logical (df$my_column))

以下示例展示了如何在实践中使用此语法。

示例:在 R 中将 TRUE 和 FALSE 转换为 1 和 0

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (points=c(5, 7, 8, 0, 12, 14),
                 assists=c(0, 2, 2, 4, 4, 3),
                 all_star=c(TRUE, TRUE, FALSE, FALSE, FALSE, TRUE))

#view data frame
df

  all_star assist points
1 5 0 TRUE
2 7 2 TRUE
3 8 2 FALSE
4 0 4 FALSE
5 12 4 FALSE
6 14 3 TRUE

我们可以使用以下基本语法将all_star列的TRUEFALSE值转换为值10

 #convert all_star column to 1s and 0s
df$all_star <- as. integer (as. logical (df$all_star))

#view updated data frame
df

  all_star assist points
1 5 0 1
2 7 2 1
3 8 2 0
4 0 4 0
5 12 4 0
6 14 3 1

每个TRUE值都转换为1 ,每个FALSE值都转换为0

其他栏目(得分和助攻)保持不变。

请注意,您还可以使用as.logic()函数将一列值10转换回TRUEFALSE值:

 #convert 1s and 0s back to TRUE and FALSE in all_star column
df$all_star <- as. logical (df$all_star)

#view updated data frame
df

  all_star assist points
1 5 0 TRUE
2 7 2 TRUE
3 8 2 FALSE
4 0 4 FALSE
5 12 4 FALSE
6 14 3 TRUE

all_star列中的值10已转换回TRUEFALSE值。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何从R中的数据框中删除空白行
如何在R中删除具有NA值的列
如何删除R中的重复行

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注