选择 R 中列值在范围内的 DataFrame 行
在本文中,我们将讨论如何在 R 编程语言中选择列值在某个范围内的数据帧行。
数据框索引可用于从数据框中提取行或列。该条件可以应用于数据帧的特定列并使用逻辑运算符组合。返回 TRUE 或 FALSE 形式的逻辑值,其中 TRUE 值指示满足条件的行。然后使用返回的行索引提取选定的行。
句法:
dataframe[condition to define range]
示例:选择列值在范围内的行
R
# create first dataframe
data_frame1 < -data.frame(col1=c(rep('Grp1', 2),
rep('Grp2', 2),
rep('Grp3', 2)),
col2=rep(1: 3, 2),
col3=rep(1: 2, 3),
col4=letters[1:6]
)
print("Original DataFrame")
print(data_frame1)
filtered_rows < - data_frame1$col2 >= 2 & data_frame1$col2 < 4
data_frame_mod < - data_frame1[filtered_rows, ]
print("Extracted DataFrame")
print(data_frame_mod)
R
# create first dataframe
data_frame1<-data.frame(col1=c(rep('Grp1',2),
rep('Grp2',2),
rep('Grp3',2)),
col2=rep(1:3,2),
col3=rep(1:2,3),
col4 = letters[1:6]
)
print("Original DataFrame")
print(data_frame1)
filtered_rows <- data_frame1$col4 == 'a' | data_frame1$col3==2
data_frame_mod <- data_frame1[filtered_rows ,]
print("Extracted DataFrame")
print(data_frame_mod)
输出:
[1] "Original DataFrame"
col1 col2 col3 col4
1 Grp1 1 1 a
2 Grp1 2 2 b
3 Grp2 3 1 c
4 Grp2 1 2 d
5 Grp3 2 1 e
6 Grp3 3 2 f
[1] "Extracted DataFrame"
col1 col2 col3 col4
2 Grp1 2 2 b
3 Grp2 3 1 c
5 Grp3 2 1 e
6 Grp3 3 2 f
条件也可以应用于数据帧的多列,并使用逻辑运算符连接。
示例:通过对多列应用条件来选择列。
电阻
# create first dataframe
data_frame1<-data.frame(col1=c(rep('Grp1',2),
rep('Grp2',2),
rep('Grp3',2)),
col2=rep(1:3,2),
col3=rep(1:2,3),
col4 = letters[1:6]
)
print("Original DataFrame")
print(data_frame1)
filtered_rows <- data_frame1$col4 == 'a' | data_frame1$col3==2
data_frame_mod <- data_frame1[filtered_rows ,]
print("Extracted DataFrame")
print(data_frame_mod)
输出:
[1] "Original DataFrame"
col1 col2 col3 col4
1 Grp1 1 1 a
2 Grp1 2 2 b
3 Grp2 3 1 c
4 Grp2 1 2 d
5 Grp3 2 1 e
6 Grp3 3 2 f
[1] "Extracted DataFrame"
col1 col2 col3 col4
1 Grp1 1 1 a
2 Grp1 2 2 b
4 Grp2 1 2 d
6 Grp3 3 2 f