我有一個資料集:
library(tidyverse)
fac = factor(c("a","b","c"))
x = c(1,2,3)
d = tibble(fac,x);d
看起來像這樣:
# A tibble: 3 × 2
fac x
<fct> <dbl>
1 a 1
2 b 2
3 c 3
我想將與因子 b 對應的列 x 的值 2 更改為 3.14。
我怎樣才能在 dplyr 管道框架中做到這一點?
uj5u.com熱心網友回復:
我們可能會使用replace
library(dplyr)
library(magrittr)
d %<>%
mutate(x = replace(x, fac == "b", 3.14))
-輸出
d
# A tibble: 3 × 2
fac x
<fct> <dbl>
1 a 1
2 b 3.14
3 c 3
uj5u.com熱心網友回復:
一種帶有ifelse宣告的替代方法:
library(dplyr)
d %>%
mutate(x = ifelse(fac == "b", 3.14, x))
fac x
<fct> <dbl>
1 a 1
2 b 3.14
3 c 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/438096.html
上一篇:實作一個簡單檔案服務
下一篇:執行時Lua中的Load函式問題
