【发布时间】:2013-03-21 06:18:53
【问题描述】:
像这样查看数据框:
set.seed(3)
Data1<-rnorm(20, mean=20)
Dir_1<-rnorm(20,mean=2)
Data2<-rnorm(20, mean=21)
Dir_2<-rnorm(20,mean=2)
Data3<-rnorm(20, mean=22)
Dir_3<-rnorm(20,mean=2)
Data4<-rnorm(20, mean=19)
Dir_4<-rnorm(20,mean=2)
Data5<-rnorm(20, mean=20)
Dir_5<-rnorm(20,mean=2)
Data6<-rnorm(20, mean=23)
Dir_6<-rnorm(20,mean=2)
Data7<-rnorm(20, mean=21)
Dir_7<-rnorm(20,mean=2)
Data8<-rnorm(20, mean=25)
Dir_8<-rnorm(20,mean=2)
Index<-rnorm(20,mean=5)
DF<-data.frame(Data1,Dir_1,Data2,Dir_2,Data3,Dir_3,Data4,Dir_4,Data5,Dir_5,Data6,Dir_6,Data7,Dir_7,Data8,Dir_8,Index)
我最终得到一个数据框,每个观察值包含两列数据(基于观察 1-8)和一个索引。根据这个索引,我想删除(或做 NA)某些数据观察。
举个例子:
如果索引大于 5,则在该行中删除观察值 8(Data 和 Dir)
如果索引大于 4,则删除该行中的观测值 7 和 8
如果索引大于 3 且小于 3.5,则在该行中删除 6,7,8
我希望提出一系列“if”语句,让我可以根据索引值删除每一行的列。
【问题讨论】:
-
你是什么意思“为一行删除列”???????是否要将 NA 放在该行的相应列中?
-
您不能为 data.frame 中的每一行删除不同的列。它必须与 Theodore 建议的列(或)相同,将值替换为 NA。
-
是的,很抱歉造成混乱。我想将行、列位置设为 NA
标签: r if-statement