我有一个数据框,如下所示:

colour evaluation
white 1.00
black - 0.50
white - 0.60
black 1.50

判断是数值数据类型.

我想创建代码,用黑色翻转所有判断的所有符号,这样+就变成了-,变成了+,以创建一个如下所示的表:

colour evaluation
white 1.00
black 0.50
white - 0.60
black - 1.50

这是我的数据框前20行的dput()输出:

structure(list(nnue_diff = c(NA, 0.12, -0.05, 0.06, -0.03, 0.13, 
-0.05, 0.02, 0.13, -0.22, -0.08, 0.07, -0.2, 0.24, -0.16, 0.32, 
1.18, -1.23, -0.06, 0), colour = c("white", "black", "white", 
"black", "white", "black", "white", "black", "white", "black", 
"white", "black", "white", "black", "white", "black", "white", 
"black", "white", "black")), row.names = c(NA, -20L), class = c("tbl_df", 
"tbl", "data.frame"))

有谁知道这样做的方法吗?

推荐答案

基于更新的数据

library(dplyr)

df |> mutate(nnue_diff = case_when(colour == "black" ~ nnue_diff * -1 , TRUE ~ nnue_diff))
  • 输出
# A tibble: 20 × 2
   nnue_diff colour
       <dbl> <chr> 
 1     NA    white 
 2     -0.12 black 
 3     -0.05 white 
 4     -0.06 black 
 5     -0.03 white 
 6     -0.13 black 
 7     -0.05 white 
 8     -0.02 black 
 9      0.13 white 
10      0.22 black 
11     -0.08 white 
12     -0.07 black 
13     -0.2  white 
14     -0.24 black 
15     -0.16 white 
16     -0.32 black 
17      1.18 white 
18      1.23 black 
19     -0.06 white 
20      0    black 

R相关问答推荐

如何删除多个.CSV文件的行

从嵌套列表中智能提取线性模型系数

如何删除R中除某些特定名称外的所有字符串?

名称输出pmap on tible

r—绘制相交曲线

如何在kableextra调用cell_spec()中忽略NA?

使用case_match()和char数组重新编码值

如果第一个列表中的元素等于第二个列表的元素,则替换为第三个列表的元素

如何通过ggplot2添加短轴和删除长轴?

在使用bslb和bootstrap5时,有没有办法更改特定dt行的 colored颜色 ?

仅在Facet_WRAP()中的相应方面包含geom_abline()

如何将一个方阵分解成没有循环的立方体

为什么在写入CSV文件时Purrr::Pwalk不起作用

R -基线图-图形周围的阴影区域

使用LAG和dplyr执行计算,以便按行和按组迭代

具有自定义仓位限制和计数的GGPLATE直方图

在R中使用ggraph包排列和着色圆

在直方图中显示两个变量

将`magick`对象转换为原始向量

如何在用`{{ }}`创建的变量上使用整洁 Select ?