【发布时间】:2013-08-26 10:36:07
【问题描述】:
我有一个包含 23 个元素的列表,每个元素有 69 行和 13 列。而且我需要为列表的每个元素在多列上应用计算。
作为一个简单的例子,我的列表如下所示:
>list
>$`1`
> a b c
>1 2.1 1.4 3.4
>2 4.4 2.6 5.5
>3 2.6 0.4 3.0
...
>$`2`
> a b c
>70 5.1 4.9 5.1
>71 4.4 7.6 8.5
>72 2.8 3.5 6.8
...
我想做的是z = (a-b) / c
对于每个元素 ($1,$2..., $23)
我尝试了以下代码:
for(i in 1:23) {
z = (列表[[i]]$a - 列表[[i]]$b) / 列表[[i]]$c }
它只给了我 49 个值,而不是 1566 个值。
有人知道我的代码出了什么问题并能够纠正它吗? 非常感谢你!
【问题讨论】:
-
您每次都在覆盖
z。尝试将z设为列表并编写z[[i]]<- (samestuff) -
@Carl Witthoft 我使用代码
z = vector("list", 23)创建了一个列表。谢谢你的建议。