使用R仅基于一列提取行
请帮忙,我需要根据一列从表中提取数据, 这是我的桌子:使用R仅基于一列提取行,r,subset,R,Subset,请帮忙,我需要根据一列从表中提取数据, 这是我的桌子: Col1 Col2 Col3 1 34 3 1 34 4 2 342 3 2 23 4 我需要什么 Col1 Col2 Col3 1 34 3 1 34 4 但最重要的是,我不能使用df_extract%distinct(Col1) 2) 下一步,使用来自df_distinct的数据、来自表的子集数据,您可以将表转换为数据帧,然后再转换为子集。这可能是最简单的方法
Col1 Col2 Col3
1 34 3
1 34 4
2 342 3
2 23 4
我需要什么
Col1 Col2 Col3
1 34 3
1 34 4
但最重要的是,我不能使用df_extract%distinct(Col1)
2) 下一步,使用来自df_distinct的数据、来自表的子集数据,您可以将表转换为数据帧,然后再转换为子集。这可能是最简单的方法 让我们将您的表称为“tab”,将新的数据框称为“df”
df尝试使用以下方法创建数据:
df <- data.frame(col1 = c(1,1,2,2,1,1,2,2),
col2 = c(34,34,342,23,34,34,342,23),
col3 = c(3,4,3,4,3,4,3,4))
而且,如果您只需要不同的列,也许您可以试试这个
> unique(df[df$col1 == 1, ])
col1 col2 col3
1 1 34 3
2 1 34 4
而且,如果需要基于col1
聚合数据,可以尝试以下方法。因为,col1
是数字
> aggregate(df[,-1], by = list(col1 = df$col1), sum)
col1 col2 col3
1 1 136 14
2 2 730 14
不清楚您的逻辑。子集(df,duplicated(Col2)| duplicated(Col2,fromLast=TRUE))
?
df <- data.frame(col1 = c(1,1,2,2,1,1,2,2),
col2 = c(34,34,342,23,34,34,342,23),
col3 = c(3,4,3,4,3,4,3,4))
> df[df$col1 == 1, ]
col1 col2 col3
1 1 34 3
2 1 34 4
5 1 34 3
6 1 34 4
> unique(df[df$col1 == 1, ])
col1 col2 col3
1 1 34 3
2 1 34 4
> aggregate(df[,-1], by = list(col1 = df$col1), sum)
col1 col2 col3
1 1 136 14
2 2 730 14