我正在尝试向数据框中添加一个新列,其值来自同一 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])
你很接近。尝试:
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