相关疑难解决方法(0)

如何组合多个条件以使用"OR"对数据帧进行子集化?

我在R中有一个data.frame.我想在两个不同的列上尝试两种不同的条件,但我希望这些条件具有包容性.因此,我想用"OR"来结合条件.当我想使用"AND"条件时,我已经使用了以下语法,并取得了很多成功.

my.data.frame <- data[(data$V1 > 2) & (data$V2 < 4), ]
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在上面使用'OR'.

conditional r dataframe

168
推荐指数
3
解决办法
47万
查看次数

根据矢量中的*not*选择R数据帧中的列

我很熟悉能够从R数据框(或矩阵)中提取列,如下所示:

df.2 <- df[, c("name1", "name2", "name3")]
Run Code Online (Sandbox Code Playgroud)

但是,可以使用一个!或其他工具来选择除列出的列之外的所有列吗?

对于背景,我有一个包含很多列向量的数据框,我想避免:

  • 当我可以删除少数人时,输入大多数名字
  • 使用更短的df.2 <- df[, c(1,3,5)]因为当我的.csv文件发生变化时,我的代码就变成了问题,因为编号不再相同了.我是R的新手,并且认为我已经学会了很难不使用数字向量来获得更大的df.

我试过了:

df.2 <- df[, !c("name1", "name2", "name3")]
df.2 <- df[, !=c("name1", "name2", "name3")]
Run Code Online (Sandbox Code Playgroud)

正如我输入这个,发现这有效:

df.2 <- df[, !names(df) %in% c("name1", "name2", "name3")]
Run Code Online (Sandbox Code Playgroud)

有没有比上一个更好的方法?

r subset dataframe

40
推荐指数
5
解决办法
5万
查看次数

关于在R中对数据帧进行子集化

我很感激您对子集数据框的建议.让我们考虑一个示例数据框df:

dd <- c(1,2,3)
rows <- c("A1","A2","A3")
columns <- c("B1","B2","B3")
numbers <- c(400, 500, 600)    
df <- dataframe(dd, rows, columns, numbers)
Run Code Online (Sandbox Code Playgroud)

和矢量: test_rows <-c("A1","A3")

我如何以这样一种方式df对向量的数据帧功能进行子集化,test_rows即只列出与("A1"和"A3")元素匹配的数据帧df(df$rows)行test_rows

r

-1
推荐指数
1
解决办法
93
查看次数

标签 统计

r ×3

dataframe ×2

conditional ×1

subset ×1