在R中创建列序列
我如何创建列序列(比如X1,X2,…,X100),它们的值取决于列索引(1-100),或者(理想情况下)不使用for循环 下面是我对for循环的尝试(它不起作用-我认为它与使用粘贴创建列名称有关。但我相信它很好地描述了我想要实现的目标在R中创建列序列,r,dplyr,R,Dplyr,我如何创建列序列(比如X1,X2,…,X100),它们的值取决于列索引(1-100),或者(理想情况下)不使用for循环 下面是我对for循环的尝试(它不起作用-我认为它与使用粘贴创建列名称有关。但我相信它很好地描述了我想要实现的目标 data <- runif(10) data <- as_tibble(data) for (i in 1:100){ data <- data %>% mutate(paste('X', i, sep = '') = (value &
data <- runif(10)
data <- as_tibble(data)
for (i in 1:100){
data <- data %>% mutate(paste('X', i, sep = '') = (value > 0.01 * i))
}
数据我们可以将地图与一起使用!!
library(tidyverse)
map(1:100, ~ data %>%
transmute(!! paste0("X", .x) := value > 0.01 * .x)) %>%
bind_cols(data, .)
或使用for
循环
for (i in 1:100){
data <- data %>%
mutate(!! paste('X', i, sep = '') := (value > 0.01 * i))
}
for(1:100中的i){
数据%
变异(!!粘贴('X',i,sep='')=(值>0.01*i))
}
我们可以将地图与一起使用!!
library(tidyverse)
map(1:100, ~ data %>%
transmute(!! paste0("X", .x) := value > 0.01 * .x)) %>%
bind_cols(data, .)
或使用for
循环
for (i in 1:100){
data <- data %>%
mutate(!! paste('X', i, sep = '') := (value > 0.01 * i))
}
for(1:100中的i){
数据%
变异(!!粘贴('X',i,sep='')=(值>0.01*i))
}
这是一个很酷的表达式!你能解释一下双感叹号的用法吗,因为我找不到它的含义吗?@jakes赋值运算符是:=
用于data.table,但最近在dplyr中引入了它。这是一个很酷的表达式!你能解释一下双感叹号的用法吗,因为我找不到它的含义吗?@jakes赋值运算符是:=
用于data.table,但最近在dplyr中引入了它