R 将其设为^2时,列数增加一倍
我想将列加倍,同时乘以2的幂(^2)。我想找一个更直观的方法来做 对于复制:R 将其设为^2时,列数增加一倍,r,R,我想将列加倍,同时乘以2的幂(^2)。我想找一个更直观的方法来做 对于复制: > dput(df) structure(list(V1 = c(0.174, 0.0149, 0.3701, 0.0996), V2 = c(9.438279, 10.038886, 33.23827, 5.912603), V3 = c(33.744, 24.534, 86.275, 13.98), V4 = c(2490, 192, 159, 26.01), V5 = c(606, 68, 47.2,
> dput(df)
structure(list(V1 = c(0.174, 0.0149, 0.3701, 0.0996), V2 = c(9.438279,
10.038886, 33.23827, 5.912603), V3 = c(33.744, 24.534, 86.275,
13.98), V4 = c(2490, 192, 159, 26.01), V5 = c(606, 68, 47.2,
299)), row.names = c(1L, 2L, 3L, 4L), class = "data.frame")
> df
V1 V2 V3 V4 V5
1 0.1740 9.438279 33.744 2490.00 606.0
2 0.0149 10.038886 24.534 192.00 68.0
3 0.3701 33.238270 86.275 159.00 47.2
4 0.0996 5.912603 13.980 26.01 299.0
这就是我一直以来所做的:
df$V1_2 <- df$V1^2
df$V2_2 <- df$V2^2
df$V3_2 <- df$V3^2
...
df$V1_2我们可以直接在数据集上使用它
df[paste0(names(df), "_2")] <- df^2
library(dplyr)
df %>%
mutate_all(list(`2` = ~ .^2))
# V1 V2 V3 V4 V5 V1_2 V2_2 V3_2 V4_2 V5_2
#1 0.1740 9.438279 33.744 2490.00 606.0 0.03027600 89.08111 1138.6575 6200100.0000 367236.00
#2 0.0149 10.038886 24.534 192.00 68.0 0.00022201 100.77923 601.9172 36864.0000 4624.00
#3 0.3701 33.238270 86.275 159.00 47.2 0.13697401 1104.78259 7443.3756 25281.0000 2227.84
#4 0.0996 5.912603 13.980 26.01 299.0 0.00992016 34.95887 195.4404 676.5201 89401.00