根据R中向量元素的数量截断数据帧

时间:2018-11-10 23:56:06

标签: r dataframe vector

我有一个数据帧 import matplotlib import matplotlib.pyplot as plt import numpy as np import datetime as dt import matplotlib.dates as mdates df['hour']=pd.to_datetime(df['Time'],format='%H:%M') df.set_index('hour', drop=False, inplace=True) df['hour'].groupby(pd.Grouper(freq='60Min')).count().plot(kind='bar', color='b') ,其中包含三个向量:

df

对于主题01,有四个观测值(因此有四行),其中两个观测值对应于subject condition value 01 A 12 01 A 6 01 B 10 01 B 2 02 A 5 02 A 11 02 B 3 02 B 5 02 B 9 ... ,另外两个观测值对应于condition A。假设由于技术错误,对主题02有 3 condition B个观察。

我的问题是:如何截断condition B以确保每个条件对每个个体主题只有两个观察结果(因此删除了错误的第三行,其中主题02的df)?

在此先感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

这是一个main解决方案-

types

答案 1 :(得分:0)

为每个主题/条件对为其行创建一个序列号echo "How many parameters do you want?" read param echo "You entered $param parameters" first = $param last = `echo $*|cut –f$# -d" "` sum = `$first + $last` echo "The sum of the two parameters are $sum" ,然后仅保留序列号小于3的那些行。

seq

给予:

subset(transform(DF, seq = ave(value, subject, condition, FUN = seq_along)), seq < 3)

注意

可重复输入的形式假定为:

  subject condition value seq
1      01         A    12   1
2      01         A     6   2
3      01         B    10   1
4      01         B     2   2
5      02         A     5   1
6      02         A    11   2
7      02         B     3   1
8      02         B     5   2