我的数据框中有一列,size
其中包含数字和字符。我想将所有字符值移到下一列,并用NA代替它们。这是我现在的数据。
size <- c(680,1800,720,"apartment","loft")
type <- c("apartment","available now","apartment","available now","available jul 20")
data <- cbind(size,type)
size type
[1,] "680" "apartment"
[2,] "1800" "available now"
[3,] "720" "apartment"
[4,] "apartment" "available now"
[5,] "loft" "available jul 20"
这就是我想要的样子:
size type
[1,] "680" "apartment"
[2,] "1800" "available now"
[3,] "720" "apartment"
[4,] NA "apartment"
[5,] NA "loft"
不幸的是,该type
列中没有统一值可调用以帮助替换的值size
。我希望避免创建要调用的唯一类型向量,因为这些唯一值可能会更改。我想要的是一种在不同列中描述字符与数字的方法。任何帮助是极大的赞赏!
您可以使用:
rep.rows <- !grepl("^[0-9]+$", data[ ,"size"])
data[rep.rows, ] <- cbind(NA, data[rep.rows, "size"])
产生:
size type
[1,] "680" "apartment"
[2,] "1800" "available now"
[3,] "720" "apartment"
[4,] NA "apartment"
[5,] NA "loft"
在这里,我们首先找到第1列中哪些行具有数字以外的内容,然后将其替换为修改后的数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句