如何更改单个单元格,最好使用%>%
?
例如:
library(dplyr)
df <- iris %>%
slice(1:5)
产生这个:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
如果我想更改一个单元格,我会这样做:
df[1,1] <- 6
哪个给我这个:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 6.0 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
但是有更好的方法吗?
答案 0 :(得分:5)
您可以使用purrr::assign_in
:
library(tidyverse)
iris %>%
slice(1:5) %>%
assign_in(list(1, 1), 6)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 6.0 3.5 1.4 0.2 setosa
#2 4.9 3.0 1.4 0.2 setosa
#3 4.7 3.2 1.3 0.2 setosa
#4 4.6 3.1 1.5 0.2 setosa
#5 5.0 3.6 1.4 0.2 setosa