如果另一个字段中有任何文本,我试图根据一个字段从数据框中删除行。如果列“c”包含0并且列“a”包含任何文本,我想删除该行。如何根据另一行中文本的存在删除行?
一些糟糕的伪代码有助于澄清:
if "a" is text AND c == 0: remove row
# Sample Data
a = c("text1", "text2", "", "text4", "text5")
b = c(1,2,3,4,5)
c = c(63.5, 23.4, 0, 34.34, 0)
df = data.frame(a,b,c)
预期输出:
答案 0 :(得分:2)
我认为您正在寻找的是
subset(df, (a=="" | c!=0) )
# a b c
# 1 text1 1 63.50
# 2 text2 2 23.40
# 3 3 0.00
# 4 text4 4 34.34
也
subset(df, !(a!="" & c==0))
在没有缺失值的情况下,