我的数据看起来像这样:
name age profit
Ann -3 10
Ann -2 5
Ann 1 23
Ann 2 15
Josh -2 12
Josh -1 34
Josh 0 1
Josh 1 21
Josh 2 26
我想删除age
为负数的行。
使用后
subset(profitData,age>0,select=c(name,age,profit))
我明白了:
name age profit
Ann 1 10
Ann 2 5
Ann 3 23
Ann 4 15
Josh 1 12
Josh 2 34
Josh 3 1
Josh 4 21
Josh 5 26
因此,只删除age列中的值,但不删除整行。 有什么建议吗?
答案 0 :(得分:1)
看起来好像可以:
profitData[profitData$age>0,]
答案 1 :(得分:0)
回答您的特定子集问题......
有些事情发生了变化。我运行你的代码并获得你想要的输出。开始一个干净的会议可能:
profitData <- read.table(text="name age profit
Ann -3 10
Ann -2 5
Ann 1 23
Ann 2 15
Josh -2 12
Josh -1 34
Josh 0 1
Josh 1 21
Josh 2 26", header=T)
subset(profitData,age>0,select=c(name,age,profit))
## > subset(profitData,age>0,select=c(name,age,profit))
## name age profit
## 3 Ann 1 23
## 4 Ann 2 15
## 8 Josh 1 21
## 9 Josh 2 26