r - 用零替换破折号而不影响负数
问题描述
有没有办法用NA
或零替换破折号而不影响向量中的负值,类似于以下内容c("-","-121512","123","-")
:
解决方案
做就是了
x <- c("-","-121512","123","-")
x[x == "-"] <- NA
x
#[1] NA "-121512" "123" NA
如果您需要一个数字向量而不是字符换x
行在as.numeric()
.
如果要替换数据框中的所有"-"
内容,我们可以使用相同的逻辑
df1 <- data.frame(x = c("-","-121512","123","-"),
y = c("-","-121512","123","-"),
z = c("-","A","B","-"), stringsAsFactors = FALSE)
df1[df1 == "-"] <- NA
如果您想要数字列(如果合适),那么您type.convert
df1[] <- lapply(df1, type.convert, as.is = TRUE)
str(df1)
'data.frame': 4 obs. of 3 variables:
$ x: int NA -121512 123 NA
$ y: int NA -121512 123 NA
$ z: chr NA "A" "B" NA
推荐阅读
- r - 尝试用 R 的公式符号拟合响应曲面
- sql-server - 我们如何根据 ERD 基数对外键列进行约束?
- java - java - 如何将java Json数据获取类转换为方法?
- python - 如何清除特定的流光缓存?
- dictionary - 没有为类“对象”定义运算符“[]”。镖
- angular - 跨域请求被阻止:同源策略不允许读取远程资源 [Twitter API]
- byte-buddy - 在 ByteBuddy 中附加远程主机进程
- mysql - 查询包含多个案例时查找下一个或上一个 ID
- lua - 如何使用 Lua 进行搜索过滤器读取文件并将条目存储为变量
- automation - 我可以使用什么语言(或框架)来构建自动在网站中执行某些特定任务