我试图找到一种更 R 风格的方式来选择 R 中组的第二个元素(但不是第一个)。
我结束了: 1. 创建一个索引rowNumIndex;2. 选择并将前两行放入一个数据框中,然后将前两行放入单独的数据框中;然后 3. “反向合并” 2 个数据帧以仅从数据帧中获取前两行的唯一值:
firsts <- ddply(df,.(group), function(x) head(x,1)) # 2 records using data below
seconds <- ddply(df,.(group), function(x) head(x,2)) # 4 records using data below
real.seconds <- seconds[!seconds$rowNumIndex %in% firsts$rowNumIndex, ] # 2 records, the second elements only
Run Code Online (Sandbox Code Playgroud)
这是一些假装数据:
group var1 rowNumIndex
A 8 1
A 9 2
A 10 3
B 11 4
B 12 5
B 13 6
B 14 7
structure(list(group …Run Code Online (Sandbox Code Playgroud)