使用管道内单元格的引用生成新变量

问题描述 投票:0回答:1

我正在尝试向数据框中添加一个新列,其值来自同一 df 的特定单元格。我想在管道中执行此操作,而不明确引用原始数据帧。

在下面的示例中,我想将

df[2,3]
替换为对管道中 df 的隐式引用。我尝试过
.[2,3]
但没用。

df <- data.frame(
  A = c(1, 2, 3, 4),
  B = c(5, 6, 7, 8),
  C = c(9, 10, 11, 12)
)

df <- df |> 
  mutate(D = df[2,3])
r pipe
1个回答
0
投票

你很接近。尝试:

df <- data.frame(
  A = c(1, 2, 3, 4),
  B = c(5, 6, 7, 8),
  C = c(9, 10, 11, 12)
)

df <- df |> 
  mutate(D = paste(df[2,3]))

df
  A B  C  D
1 1 5  9 10
2 2 6 10 10
3 3 7 11 10
4 4 8 12 10

如果您不想使用

df[2,3]
,我们可以在
magrittr
中使用
dplyr
管道。

library(dplyr)

df <- df %>% 
  mutate(D = paste(.[2,3]))

df
  A B  C  D
1 1 5  9 10
2 2 6 10 10
3 3 7 11 10
4 4 8 12 10

© www.soinside.com 2019 - 2024. All rights reserved.