Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中创建列序列_R_Dplyr - Fatal编程技术网

在R中创建列序列

在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 &

我如何创建列序列(比如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 > 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中引入了它