r - 将返回的 NULL 作为值添加到数据框中
问题描述
我有这些向量,我想将它们作为数据框,同时将第 4 个值也作为一个值,而不是第 4 个值是“NULL”并停止进一步处理
a <- Dataset$price1
b <- Dataset$price33
c <- Dataset$price16
d <- Dataset$price40
> a
[1] 0.76
> b
[1] 0.52
> c
[1] 0.93
> d
NULL
因此,这不起作用
test <- c(a,b,c,d)
期望的结果:
> c(a,b,c,d)
[1] 0.76 0.52 0.93 0
谢谢你的帮助!
解决方案
这是一种依赖于首先创建一个列表的方法,该列表可以本地保存NULL
值:
result <- sapply(list(a,b,c,d),function(x)ifelse(is.null(x),0,x))
result
#[1] 0.76 0.52 0.93 0.00
is.vector(result)
#[1] TRUE
顺便说一句,我建议不要将变量分配给内部 R 函数共享的名称,例如c
.
数据:
list2env(setNames(list(0.76,0.52,0.93,NULL),letters[1:4]),envir = globalenv())
推荐阅读
- machine-learning - 强化学习迷你高尔夫游戏
- excel - 循环遍历单元格以填充文本框
- python - 在 crawlspider 中配置规则时,follow 参数似乎不起作用
- html - 使用 flex 样式 mat-table
- ubuntu - 带有 HTTPS 的 IP 给出“您的连接不是私有的”[Nginx/Ubuntu]
- python - AttributeError:类型对象“ListViewSet”没有属性“get_extra_actions”
- iis - IIS 10 网络共享
- javascript - d3 V4 中尝试在 AlbersUSA 上使用 projection.center() 时出现“不是函数”错误
- apache-kafka - 通过 Kafka Connect 的 /connectors/ 保护敏感信息
/配置 API - tiddlywiki - 无法自动生成链接列表