我在数据框中有几个单元格,后面跟一个星号.我想用*和NA替换单元格中的数据.这是样本数据
a<-c(1.23,"4.2*", 5,6,"8*")
b<-c(0.01,0.5,"3.687*",9,10)
c<-data.frame(a,b)
c
Run Code Online (Sandbox Code Playgroud)
我试过c [c =="*"] < - NA,但只替换只包含*的单元格
尝试强制数字:
data.frame( a = as.numeric(a), b = as.numeric(b) )
a b
1 1.23 0.01
2 NA 0.50
3 5.00 NA
4 6.00 9.00
5 NA 10.00
Run Code Online (Sandbox Code Playgroud)
任何无效的数字都将成为NA.OP首选方法的缺点是,当您看起来很可能使用数字时,最终会得到一个充满因子或字符的data.frame.