我有一个看起来像这样的数据框:
structure(list(A = c(70, 70, 70, 70, 70, 70), T = c(0.1, 0.2,
0.3, 0.4, 0.5, 0.6), X = c(434.01, 434.01, 434.75, 434.75, 434.75,
434.01), Y = c(454.92, 454.92, 454.92, 454.92, 454.18, 454.92
), V = c(0, 0, 21.128, 0, 14.94, 14.94), thetarad = c(0.151841552716899,
0.151841552716899, 0.150990672182432, 0.150990672182432, 0.150177486839524,
0.151841552716899), thetadeg = c(8.69988012340509, 8.69988012340509,
8.6511282599214, 8.6511282599214, 8.6045361718215, 8.69988012340509
)), .Names = c("A", "T", "X", "Y", "V", "thetarad", "thetadeg"
), row.names = 1423:1428, class = "data.frame")
我想以 30 秒的间隔对 R 中的特定时间点进行子集化。我可以通过手动设置我想要的每个时间点来做到这一点:
a1=subset(binA, T==0.1)
a2=subset(binA, T==30)
a3=subset(binA, T==60)
a4=subset(binA, T==90)
a5=subset(binA, T==120)
a6=subset(binA, T==150)
a7=subset(binA, T==180)
a8=subset(binA, T==210)
a9=subset(binA, T==240)
a10=subset(binA, T==270)
a11=subset(binA, T==300)
a12=subset(binA, T==330)
a13=subset(binA, T==360)
a14=subset(binA, T==390)
a15=subset(binA, T==420)
a16=subset(binA, T==450)
a17=subset(binA, T==480)
a18=subset(binA, T==510)
a19=subset(binA, T==540)
a20=subset(binA, T==570)
a21=subset(binA, T==599.5)
我尝试使用sapply
和seq
函数进行子集化,但结果令人困惑。我还想计算每个数据子集中的唯一 A 。我也知道我可以使用 package.json 中的count
函数来做到这一点plyr
。
a1=count(unique(subset(binA, T==0.1)))
但是 count 将使用一个数据框而不是多个数据框(如果我错了,请纠正我)。我还想为每个子集采用 thetadeg 的方法(这应该很容易在一个数据帧中应用)。因此,我需要有关如何编写具有特定 seq 点的函数的帮助。
我知道这个问题是微不足道的,但我们将不胜感激。
谢谢