带有 R 的列表的所有对象中的 rowSums

标签 r

我有一个大列表,我想对该列表的每个对象中的每一行执行 rowSums

这是我的:

> DFTYPE
[[1]]
[[1]][[1]]
  DGDG.36.5 DGDG.36.6
1  978.4906  3585.613
1 1280.9531  8740.503
1 1228.3969  6082.900
1 5245.2437 18104.022
1    0.0000   827.650

[[1]][[2]]
  DGDG.36.5 DGDG.36.6
2    0.0000  917.5844
2  513.5063  976.2344
2  516.5781 1540.6000
2  838.5406 3486.5563
2 1146.8812 3962.2906
2    0.0000 1050.5281

[[1]][[3]]
  DGDG.36.5 DGDG.36.6
3 1755.0656 10924.975
3  713.2969  4681.759
3  946.1094  3319.722
3 1569.5281  6531.266
3 1827.9156 10501.375
3    0.0000  1973.325


[[2]]
[[2]][[1]]
  MGDG.34.4 MGDG.34.5 MGDG.34.6 MGDG.36.4 MGDG.36.5 MGDG.36.6
1   891.950  1463.695  14266.34     0.000  1368.040  5015.425
1  2596.695  4228.470  38945.15  1531.350  5617.475 14647.965
1  1536.595  3273.335  30895.44  1610.060  4415.735 11106.930
1  4471.495  9894.595  71023.04  4086.105  9536.450 24968.695

[[2]][[2]]
  MGDG.34.4 MGDG.34.5 MGDG.34.6 MGDG.36.4 MGDG.36.5 MGDG.36.6
2         0       0.0  2158.405      0.00  1478.710  2350.265
2         0       0.0  1409.740      0.00  1776.775  2110.440
2         0       0.0  1910.240      0.00  1044.570  2410.740
2         0     913.5  4558.720   1071.78  1499.770  3616.110
2         0       0.0  7980.890   1993.40  1044.855  8468.875
2         0       0.0  1593.260    792.46     0.000  1019.770

[[2]][[3]]
  MGDG.34.4 MGDG.34.5 MGDG.34.6 MGDG.36.4 MGDG.36.5 MGDG.36.6
3  1225.095  1994.225  20028.34  1728.695  3503.870 11717.955
3   948.865  1284.680   9522.01   487.985  1702.520  4291.785
3     0.000  1396.415  10216.45  1062.240  1438.825  5163.490
3  1077.845  2422.845  20380.78  2904.935  3147.180  8760.835
3  1135.710  3821.430  29022.75  1555.960  3652.580 12318.555
3     0.000   870.055  12322.73     0.000  1652.525  5136.380

然后我创建一个新列表来获取总和的结果:

> DFttt<-list()
> DFttt<-rowSums(DFTYPE)
Error in rowSums(DFTYPE) : 
  'x' must be an array of at least two dimensions

最佳答案

考虑一个名为 List 的列表,如下所示:

set.seed(1)    
List <- list(list(matrix(rnorm(10), ncol=2), matrix(rnorm(10), ncol=2)),
                 list(matrix(rnorm(10), ncol=2), matrix(rnorm(10), ncol=2)))
lapply(List, function(x) lapply(x, rowSums)) 

[[1]]
[[1]][[1]]
[1] -1.44692219  0.67107238 -0.09730391  2.17106215  0.02411938

[[1]][[2]]
[1]  1.4668476  0.3736530  0.3225956 -1.3934787  1.7188322


[[2]]
[[2]][[1]]
[1]  0.8628486  0.6263408 -1.3961874 -2.4675018  1.0377673

[[2]][[2]]
[1]  0.9436850 -0.4970777  0.3283582  1.0462203 -0.6138838

关于带有 R 的列表的所有对象中的 rowSums,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15086762/

相关文章:

r - 使用 R Markdown/Notebook 缓存 SQL block ,无需在 RStudio 中进行编织

r - 访问嵌套在 R 列表中的向量的倒数第二个元素

r - 使用 R 服务将带引号的字符串作为输入参数传递给 SQL Server 2016 存储过程

python - rpy2 下的立体回归 : "subscript out of bounds" error

r - 使用 model.matrix() 创建虚拟变量

运行香农和辛普森 : Vegan package

R:将非对称列表转换为矩阵 - 每个子列表中的元素数量不同

c++ - 如何将多个对象从 Rcpp 返回到 R?

r - 如何使用 ggplot2 绘制填充直方图及其密度?

r - 如何在 R 中使用 msgbox