R中的数据帧滤波器

R中的数据帧滤波器,r,statistics,R,Statistics,对筛选数据帧时符号的含义有点困惑,更具体地说,这行代码df2data.frames可以由行或列引用。格式为df[行,列]。如果选择一行,将返回该行中的所有列。这就是您在示例中所做的,即您正在过滤[filter condition]中的行 以下是行和列引用的一些图示: df[3] #column 3 #1 1.0 #2 20.0 #3 3.1 #4 3.0 class(df[3]) #[1] "data.frame" df[,3] #column 3 #[1] 1.0 20.0 3

对筛选数据帧时符号的含义有点困惑,更具体地说,这行代码df2data.frames可以由行或列引用。格式为df[行,列]。如果选择一行,将返回该行中的所有列。这就是您在示例中所做的,即您正在过滤[filter condition]中的行

以下是行和列引用的一些图示:

df[3]  #column 3
#1  1.0
#2 20.0
#3  3.1
#4  3.0
class(df[3])
#[1] "data.frame"

df[,3]  #column 3
#[1]  1.0 20.0  3.1  3.0
class(df[,3])
#[1] "numeric"

df[3,]  #row 3
#c1 c2  c3  c4 c5 c6
#3 19123 t2 3.1 175  0  0
class(df[3,])
#[1] "data.frame"

df$c6 <= 1 & df$c4 > 200
#[1]  TRUE  TRUE FALSE FALSE  #Only rows 1 and 2 meet the conditions
all(df[df$c6 <= 1 & df$c4 > 200, ] == df[ c(TRUE, TRUE, FALSE, FALSE),])
#[1] TRUE

Data.frames可以由行或列引用。格式为df[行,列]。如果选择一行,将返回该行中的所有列。这就是您在示例中所做的,即您正在过滤[filter condition]中的行

以下是行和列引用的一些图示:

df[3]  #column 3
#1  1.0
#2 20.0
#3  3.1
#4  3.0
class(df[3])
#[1] "data.frame"

df[,3]  #column 3
#[1]  1.0 20.0  3.1  3.0
class(df[,3])
#[1] "numeric"

df[3,]  #row 3
#c1 c2  c3  c4 c5 c6
#3 19123 t2 3.1 175  0  0
class(df[3,])
#[1] "data.frame"

df$c6 <= 1 & df$c4 > 200
#[1]  TRUE  TRUE FALSE FALSE  #Only rows 1 and 2 meet the conditions
all(df[df$c6 <= 1 & df$c4 > 200, ] == df[ c(TRUE, TRUE, FALSE, FALSE),])
#[1] TRUE

首先,也许看一下帮助中的例子[。@JoshO'Brien,谢谢并投票,我甚至不知道我能在[:当然。我知道这不是一个明显的帮助查询,我认为它可能对你有用。当然@JoshO'Brien,投票并祝你愉快。:首先,也许看一下帮助中的例子[.@JoshO'Brien,谢谢你,投赞成票,我甚至不知道我能帮上什么忙[:当然。我知道这不是一个明显的帮助问题,我认为它可能对你有用。当然@JoshO'Brien,投赞成票,祝你过得愉快。:谢谢oshun,把你的回答标为答案,投赞成票。:谢谢oshun,把你的回答标为答案,投赞成票。:
> df
     c1 c2   c3   c4    c5 c6
1 10321 t1  1.0  240 0.000  0
2 16123 t1 20.0 4492 0.000  0
3 19123 t2  3.1  175 0.000  0
4 35321 t1  3.0 2304 4.608  2
> df2 <- df[df$c6 <= 1 & df$c4 > 200,]
> df2
     c1 c2 c3   c4 c5 c6
1 10321 t1  1  240  0  0
2 16123 t1 20 4492  0  0
df[3]  #column 3
#1  1.0
#2 20.0
#3  3.1
#4  3.0
class(df[3])
#[1] "data.frame"

df[,3]  #column 3
#[1]  1.0 20.0  3.1  3.0
class(df[,3])
#[1] "numeric"

df[3,]  #row 3
#c1 c2  c3  c4 c5 c6
#3 19123 t2 3.1 175  0  0
class(df[3,])
#[1] "data.frame"

df$c6 <= 1 & df$c4 > 200
#[1]  TRUE  TRUE FALSE FALSE  #Only rows 1 and 2 meet the conditions
all(df[df$c6 <= 1 & df$c4 > 200, ] == df[ c(TRUE, TRUE, FALSE, FALSE),])
#[1] TRUE