减去具有不同数据结构的列表

时间:2016-11-21 21:53:58

标签: r

我有两个清单。第一个(List1)由126个项目组成,每个项目都是一个数据框,其中包含对13个变量的240个观察结果,如下所示:

assetManager = getAssets();
is = assetManager.open("fortuneCookie.txt");
br = new BufferedReader(new InputStreamReader(is));

List2也包含126个项目,但这次只是对13个变量进行了1次观察,如下所示:

List1          Large List (126 elements, 3.2 Mb)
:'data.frame': 240 obs. of 13 variables
..$X1: num [1:240] 1.5 2.3 6.4 3.3 ...
..$X2: num [1:240] 3.8 9.4 0.4 6.4 ...
.................................................
:'data.frame': 240 obs. of 13 variables
..$X1: num [1:240] 2.6 0.9 0.5 3.7 ...
..$X2: num [1:240] 4.9 5.5 5.6 3.1 ...
.................................................

我只是想从List1中减去List2。换句话说,我想从List1的每个元素中的所有240行中减去List2的每个元素中的13个数字。这应该在列表中给我126个新项目,对13个变量进行240次观察。

我试过了:

List2          List of 126
: num[1, 1:13] 5.5 4.2 6.3 9.2 ...
: num[1, 1:13] 2.1 1.4 7.7 3.9 ...
.................................................

这确实有效,但它没有给出正确的结果,因为它没有从List1的正确列中删除List2中的正确列。有什么简单的我可能在这里做错了吗?

1 个答案:

答案 0 :(得分:0)

看看这是否有效?

list3=list()
for(i in 1:length(list1))list3[[i]]=list1[[i]]-rep(1,240)%*%list2[[i]]
str(list3)