我有几个带有x,y,z坐标和时间戳的数据集。 我将单个数据文件加载到一个看起来像这样的对象中:

    [[1]]
    x;y;z;time
    -3.144;0.8554;-1.806;0.0724
    -3.144;0.8554;-1.806;0.0968
    -3.144;0.8554;-1.806;0.6275
    -3.144;0.8554;-1.806;0.6484
    -3.144;0.8554;-1.806;0.6611 
    ...
    [[2]]
    x;y;z;time
    -2.840;0.9775;-2.058;0.0724
    -2.832;0.9775;-2.058;0.0968
    -2.845;0.9775;-2.062;0.6275
    -2.833;0.9775;-2.067;0.6484
    -2.847;0.9775;-2.070;0.6611 
    ...

现在,我想编写一个新表,计算每个时间戳记每个数据文件的x,y,z平均值。 所以看起来像这样:

x.mean;y.mean.;z.mean;time
-2.992;0.916;-1.932;0.0724
-2.988;0.855;-1.806;0.0968
...

是否有可以做到这一点的功能/包装? 我已经尝试了多个软件包,但没有在那找到解决方案。

#1楼 票数:1 已采纳

data.table在这里可能有效。 我假设您的对象是data.frame表的列表,它称为yourlistobject

library(data.table)

#Convert data to data.table and then stack all data onto of one another
big.list <- lapply(yourlistobject,setDT)
big.data <- rbindlist(big.list,fill=TRUE)

#Calculate means by timestamp
out <- big.data[, lapply(.SD,mean,na.rm=T), by=.(time)]
out

#2楼 票数:0

这是一种可行的快速而肮脏的方法。

iris1 = iris
iris2 = iris

iris1$Name = 'file1'
iris2$Name = 'file2'
iristotal = rbind(iris1,iris2)

data <- subset(iristotal, select= -c(Species, Name))
names <- subset(iristotal, select= c(Name))
aggregate( data,names, mean)

  ask by makinate translate from so

未解决问题?本站智能推荐:

1回复

R中列表中的行总数

我想在这些列中找到总和为3的行:第二个(Q-1_A-4),第三个(Q-4_A-1)和第五个(Q-9_A-1)。 输入和所需的输出在下面。 输入: 所需的输出:
3回复

从R列表中的矩阵中提取行

我正在尝试从R列表中的所有矩阵中提取行。除了循环之外,还有一种简单的方法吗? 例如 此代码生成以下列表: 现在,我要提取此列表中所有矩阵的第二行,并将其存储在另一个矩阵或列表中。 有没有办法做到这一点而不循环? 谢谢
2回复

在R中展开矩阵

我想将线性程序的约束放在矩阵的行中。 我从列表的元素中得到约束,但是列表中的几个元素由零向量组成。 在我的情况下,相应的约束并不重要,也不必在约束矩阵中。 有没有一种方法可以预先定义矩阵,这样您就可以继续向矩阵中添加行,而不必担心矩阵的大小。 您只想继续向矩阵添加行,最后您将看到矩阵
3回复

如何按行数过滤嵌套的数据帧列表并从 R 中的列表中删除过滤后的数据帧?

这应该是一个需要解决的简单问题,但我无法获得我想要的确切输出。 我有一个嵌套的数据框列表,我想过滤掉所有少于 50 行的数据框,并将它们从列表中删除。 这是我尝试过的可重复示例 - 这适用于第一个列表,但它将嵌套列表中的 mtcars 数据框替换为 NULL - 它不会将它们从列表中删除。 不
1回复

在数据帧内按行关联

我正在尝试计算大数据帧的所有行之间的相关性,到目前为止,已经提出了一个可行的简单for循环。 例如: 给定大数据帧和低效的for循环,相关计算需要很长时间。 有人会建议如何使其更快吗? 请注意,列表中有许多数据帧,因此可以使用lapply(但尚未弄清楚如何编写代码行)
1回复

将data.table转换为data.tables的行列表,并将函数应用于每一行

假设,我在R中有一个data.table。我想将其转换为一个列表,其中每个元素都是一个单独的data.table,仅包含一行。 然后,我有一个应用于每个单行数据表的函数。 我想限制输出。 我已经尝试了Apply系列的许多版本,但无法使其正常工作。 我想做以下事情,但是使用appl
1回复

R用于循环计算行均值比

我有一个像这样的数据框(df): 我将需要计算Vs的列表,如下所示: 我认为我应该使用for循环。 我已经尝试过下面编写的循环,但是它不起作用: 我期望的输出是这样的:
1回复

计算df中的行均值

我正在尝试在df中编写计算行均值: 这是我到目前为止编写的代码,但是我看不出为什么它不起作用: 这可能有一个非常简单且可能显而易见的解决方案,只是无法弄清楚问题出在哪里。 有任何想法吗?