0

我有一个数据框(st1),我按一个因子拆分。然后,我通过另一个因素对拆分数据(即均值)执行了函数,因此,我不能再执行 unsplit 了,因为我的原始数据帧现在的长度不同。

至于引导你完成我所做的,这里有一个代码:

NT = data.table(st1)

NT2=split (NT, NT$bin)

NT3 <- data.frame(sapply( NT2 , function(x) x[, list(ang=length(unique(thetadeg)), len=length(T), Vm=mean(V)), by=c("A")]))

st1的负责人:

结构(列表(A = c(25L, 25L, 25L, 25L, 25L, 25L), T = 56:61, X = c(481.07, 487.04, 490.03, 499, 504.97, 507.96), Y = c(256.97, 256.97, 256.97, 256.97, 256.97, 256.97), V = c(4.482, 5.976, 7.47, 4.482, 5.976, 7.47), thetarad = c(0.164031585831919, 0.169139558949956, 0.171661200692621, 0.179083242584008, 0.183907246800473, 0.186289411097781), thetadeg = c(9.39831757286096 , 9.69098287432395, 9.83546230358968, 10.2607139792383, 10.537109061132, 10.6735970214433), bin = structure(c(1L, 1L, 1L, 1L, 1L(", 1L), bin.Label", "", bin.Label "), class = "factor")), .Names = c("A", "T", "X", "Y", "V", "thetarad", "thetadeg", "bin"), 行.names = c(NA, 6L),类=“data.frame”)

我没有为我的 NT3 放置一个 dput(head),因为它太长了。

我尝试了 unsplit,unlist 但没有成功。我想要做的是再次拥有一个数据框,并将 bin 作为一个因素。

任何帮助都会很棒。

编辑:我希望我的数据框有 A、ang、len、Vm 和 bin 作为标题。

4

2 回答 2

1

目前尚不清楚您的预期输出是什么,但看看您所拥有的NT3,这可能更有效:

NT <- data.table(ST1, key="A")
NT[, list(ang=length(unique(thetadeg))
              , len=length(T)
              , Vm=mean(V))
   , by=list(A, bin) ]
于 2014-01-30T22:18:34.340 回答
0

我设法找到了我做错了什么,所以现在可以了:

NT <- data.table(st1, key="bin")
NT2=NT[, list(ang=length(unique(thetadeg)), len=length(T), Vm=mean(V)), by=c("A", "bin")]

显然,我已经可以在data.table@Ricardo Saporta 建议的 by 语句中执行此操作。谢谢你!

于 2014-01-31T12:16:36.900 回答