【发布时间】:2020-10-18 01:29:52
【问题描述】:
我有一个数据框,我想根据 2 个特定列中的值将其子集或拆分为 3 个新数据框。
dataframe数据如下
structure(list(Analyte = c("Fe", "SiO2", "Al2O3", "Mn", "P"),
Units = c("%", "%", "%", "%", "%"), Value = c("65.64", "1.131",
"0.845", "0.02", "0.122"), `1 SD` = c("0.218585", "0.037177",
"0.022415", "0.002315", "0.001914"), `1 SD within Lab` = c("0.171935",
"0.022832", "0.01248", "0.000866", "0.001005"), Interval = c("0.113",
"0.023", "0.014", "0.002", "0.001"), `95% Lower CI` = c("65.5275075004927",
"1.10799350503001", "0.831047973875986", "0.017751684702168",
"0.120781663382338"), `95% Upper CI` = c("65.752959166174",
"1.15385316163666", "0.859832026124014", "0.0212631301126469",
"0.123288336617662"), `Coeff of Var` = c("0.3", "3.3", "2.7",
"11.6", "1.6"), `Number of Labs` = c("10", "10", "10", "9",
"10"), `Number of Analysis` = c("60", "60", "60", "54", "60"
)), row.names = c(NA, 5L), class = "data.frame")
我希望我的三个表是“认证的”、“临时的”和“信息的”
认证表是指“Var 系数”>= 10 且实验室数量 >=5 临时表是“Var 系数”在 10 到 20 之间或“实验室数量”3 时 信息表基本上是其他一切,但我已经制定了规则
我有 3 个小代码块,如下所示,但它们要么不产生结果,要么产生错误的结果
Certified <- subset(df,
'Coeff of Var' <= 10 &
'Number of Labs' >= 5)
Provisional <- subset(df,
'Coeff of Var' < 20 &
'Coeff of Var' > 10 |
'Number of Labs' < 5)
Informational <- subset(df,
'Coeff of Var' > 20 |
'Number of Labs' < 3)
我尝试使用 '&&' 代替 '&' 但没有成功。 我哪里出错了?
【问题讨论】:
标签: r subset logical-operators