Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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_For Loop_Paste_Variable Names - Fatal编程技术网

R 在循环中存储结果时为名称添加后缀

R 在循环中存储结果时为名称添加后缀,r,for-loop,paste,variable-names,R,For Loop,Paste,Variable Names,我正在for循环中的R中绘制一些图,并希望使用名称来存储这些图,以描述正在绘制的函数,以及它来自哪些数据 因此,当我有一个包含两个数据集“x”和“y”的列表时,循环的结构如下: x = matrix( c(1,2,4,5,6,7,8,9), nrow=3, ncol=2) y = matrix( c(20,40,60,80,100,120,140,160,180), nrow=3, ncol=2) data <- list(x,y) for (i in dat

我正在for循环中的R中绘制一些图,并希望使用名称来存储这些图,以描述正在绘制的函数,以及它来自哪些数据

因此,当我有一个包含两个数据集“x”和“y”的列表时,循环的结构如下:

x = matrix(
  c(1,2,4,5,6,7,8,9),
  nrow=3,
  ncol=2)

y = matrix(
  c(20,40,60,80,100,120,140,160,180),
  nrow=3,
  ncol=2)

data <- list(x,y)

for (i in data){
  ??? <- boxplot(i)
}
x=矩阵(
c(1,2,4,5,6,7,8,9),
nrow=3,
ncol=2)
y=矩阵(
c(20,40,60,80100120140160180),
nrow=3,
ncol=2)

数据我们可以创建一个空的
列表
,其
长度
与“data”相同,然后通过循环“data”序列存储
for
循环的相应输出

out <- vector('list', length(data))    
for(i in seq_along(data)) {
      out[[i]] <- boxplot(data[[i]])
  }

str(out)
#List of 2
# $ :List of 6
#  ..$ stats: num [1:5, 1:2] 1 1.5 2 3 4 5 5.5 6 6.5 7
#  ..$ n    : num [1:2] 3 3
#  ..$ conf : num [1:2, 1:2] 0.632 3.368 5.088 6.912
#  ..$ out  : num(0) 
#  ..$ group: num(0) 
#  ..$ names: chr [1:2] "1" "2"
# $ :List of 6
#  ..$ stats: num [1:5, 1:2] 20 30 40 50 60 80 90 100 110 120
#  ..$ n    : num [1:2] 3 3
#  ..$ conf : num [1:2, 1:2] 21.8 58.2 81.8 118.2
#  ..$ group: num(0) 
#  ..$ names: chr [1:2] "1" "2"


最好不要在全局环境中创建多个对象。相反,如上所示,将对象放在
列表中
如果正确,则应尽量避免在全局环境中设置名称。但如果你真的需要,你可以试试这个

> y = matrix(c(20,40,60,80,100,120,140,160,180),ncol=1)
> .GlobalEnv[[paste0("plot_","y")]] <- boxplot(y)
> str(plot_y)
List of 6
 $ stats: num [1:5, 1] 20 60 100 140 180
 $ n    : num 9
 $ conf : num [1:2, 1] 57.9 142.1
 $ out  : num(0)
 $ group: num(0)
 $ names: chr "1"
y=矩阵(c(20,40,60,80100120140160180),ncol=1) >.GlobalEnv[[paste0(“plot_u”,“y”)]]str(plot_uy) 6人名单 $stats:num[1:5,1]2060100140180 $n:num 9 $conf:num[1:2,1]57.9142.1 $out:num(0) $group:num(0) $names:chr“1”
通过在R命令提示符中键入
?.GlobalEnv
,可以读取
.GlobalEnv

> y = matrix(c(20,40,60,80,100,120,140,160,180),ncol=1)
> .GlobalEnv[[paste0("plot_","y")]] <- boxplot(y)
> str(plot_y)
List of 6
 $ stats: num [1:5, 1] 20 60 100 140 180
 $ n    : num 9
 $ conf : num [1:2, 1] 57.9 142.1
 $ out  : num(0)
 $ group: num(0)
 $ names: chr "1"