R:删除向量中的指定元素 Remove elements in a vector/list
Feb 06, 2008R:删除向量中的指定元素
还是举例说明吧。
vector<-c(1,3,5,7,9)#如果我想删除元素5
new_vector<-vector[-3]#即下标用负号表示删除,后面的数字表示第几个元素。
题外话:不要和python混了,python里负数下标表示倒数第几个元素。例如:
[python] #/usr/bin/python list=[1,3,5,7,9] print list[-3] #输出结果是5 [/python]
附送1:删除data frame或matrix中的指定行或指定列
vec1<-c(1,3,5,7,9) vec2<-c(2,4,6,8,10) frame<-data.frame(vec1,vec2) matrix<-matrix(c(1, 3, 5, 7, 9, 2, 4, 6, 8, 10), ncol=5, byrow=TRUE)
frame_without_row4<-frame[-4, ]
matrix_without_column2<-matrix[,-2]
附送2:删除向量或data frame中的缺失值 (NA)
A<-na.omit(A)#A可以是vector(list),data frame或matrix。如果A是data frame或matrix,则同一行如果有一个NA,这一行都会被删除
这个和附送2不同的是,只有在某行或某列全是NA时才删除,而2的方法是只要出现NA值,就把所在行全部删除。
这个比较复杂,单独撰文解决 :)
References: http://www.mail-archive.com/r-help@stat.math.ethz.ch/msg79958.html http://tolstoy.newcastle.edu.au/R/help/04/11/6887.html