簡體   English   中英

在小標題中的特定位置更改值

[英]change value at specific location in a tibble

我有一個df

df = data.frame(col1=1:4, col2 = 5:8, col3 = 9:12)

我想將 row2, col2 中的值更改為 44

在基礎 R 中,我使用df["2","col2"] = 44 ,如何在 tidyverse 中執行此操作?

df = data.frame(col1=1:4, col2 = 5:8, col3 = 9:12)
df
df["2","col2"]=44
df

在此處輸入圖像描述

一個可能的解決方案:

library(dplyr)

df %>% 
  mutate(col2 = ifelse(row_number() == 2, 44, col2))

#>   col1 col2 col3
#> 1    1    5    9
#> 2    2   44   10
#> 3    3    7   11
#> 4    4    8   12

您也許可以使用 dplyr 的dplyr rows_update()函數?

rows_update(df, tibble(col1=2, col2=44))

# Matching, by = "col1"
# A tibble: 4 x 3
   col1  col2  col3
  <int> <int> <int>
1     1     5     9
2     2    44    10
3     3     7    11
4     4     8    12

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM