R 动态数据帧子集

R 动态数据帧子集,r,R,我有一个与此类似的数据帧: A B C D E F G H I J K origin 1 -0.7236848 -0.4245541 0.7083451 3.1623596 3.8169532 -0.04582876 2.0287920 4.409196 -0.3194430 5.90

我有一个与此类似的数据帧:

       A         B           C          D          E          F           G         H          I           J          K     origin
1 -0.7236848 -0.4245541  0.7083451  3.1623596  3.8169532 -0.04582876  2.0287920 4.409196 -0.3194430  5.9069321  2.7071142      1
2 -0.8317734  4.8795289  0.4585997 -0.2634786 -0.7881651 -0.37251184  1.0951245 4.157672  4.2433676  1.4588268 -0.6623890      1
3 -0.7633280 -0.2985844 -0.9139702  3.7480425  3.5672651  0.06220035 -0.3770195 1.101240  2.0921264  6.6496937 -0.7218320      1
4  0.8311566 -0.7939485  0.5295287 -0.5508124 -0.3175838 -0.63254736  0.6145020 4.186136 -0.1858161 -0.1864584  0.7278854      2
5  1.4768837 -0.7612165  0.8571546  2.3227173 -0.8568081 -0.87088020  0.2269735 4.386104  3.9009236 -0.6429641  3.6163318      2
6 -0.9335004  4.4542639  1.0238832 -0.2304124  0.8630241 -0.50556039  2.8072757 5.168369  5.9942144  0.6165200 -0.5349257      2
注意,最后一个变量称为origin;1级和2级因子标签;我的真实数据集有更多级别

我正在使用的函数需要以下格式:

结果我认为

 do.call(specialFunc,
   split.data.frame(df[,-ncol(df)],df$origin))

应该这样做吗?

Thx,我最初跳到快速回复来告诉你这不是我想要的,因为我需要单独分配变量并传递,但是经过一点修改,我可以传递一个列表而不是多个单独的变量。之前有两个答案,一个被删除。你指的是哪一个?是的,这很有效!!再一次向我证明,正如interwebz所建议的那样,attach()get()方法有解决办法!更准确的说法是,
get
assign
是针对更喜欢的方法的黑客解决方法。
 do.call(specialFunc,
   split.data.frame(df[,-ncol(df)],df$origin))