Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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_Object_For Loop - Fatal编程技术网

R表示全局环境中对象上的循环,以在一个变量上生成子集

R表示全局环境中对象上的循环,以在一个变量上生成子集,r,object,for-loop,R,Object,For Loop,假设我的全局环境中有3个对象(A、B和C): A <- data.frame( "Var1" = c("0", "0", "1", "0"), "Var2" = c("1", "0", "0", "0"), "Var3" = c("0","1", "1", "1"), "Site" = c("alpha", "alpha", "beta" ,"gamma") ) B <- data.frame( "Var4" = c("0", "0", "1", "1"),

假设我的全局环境中有3个对象(A、B和C):

A <- data.frame(
  "Var1" = c("0", "0", "1", "0"),
  "Var2" = c("1", "0", "0", "0"),
  "Var3" = c("0","1", "1", "1"),
  "Site" = c("alpha", "alpha", "beta" ,"gamma")
)

B <- data.frame(
  "Var4" = c("0", "0", "1", "1"),
  "Var5" = c("1", "0", "0", "1"),
  "Site" = c("alpha", "beta" , "beta" ,"gamma")
)

C <- data.frame(
  "Var6" = c("0", "0", "1"),
  "Var7" = c("1", "0", "0"),
  "Site" = c("alpha", "beta" ,"gamma")
)

这个循环看起来怎么样

不要创建多个对象,而是将
拆分为
列表
拆分(a,a$Site)
类似于
lappy(mget(c(“a”,“B”,“c”)),函数(x)拆分(x,x$Site))将提供一个很好的嵌套的数据帧列表,在R中使用起来更容易。在全局环境中创建一组相关但松散的变量只会使事情变得混乱。
A_alpha = A[A$Site == 'alpha',]
A_beta = A[A$Site == 'beta',]
A_gamma = A[A$Site == 'gamma',]
B_alpha = B[B$Site == 'alpha',]
B_beta = B[B$Site == 'beta',]
B_gamma = B[B$Site == 'gamma',]
C_alpha = C[C$Site == 'alpha',]
C_beta = C[C$Site == 'beta',]
C_gamma = C[C$Site == 'gamma',]