r - 在不同列中使用 R 将数据表中的零值替换为小随机数
问题描述
我有一个包含 411 行和 6 个变量的数据表,如下所示:
> head(datapp)
TP220170823pos-42 TP220170823pos-43 TP220170823pos-44 TP220170823pos-48 TP220170823pos-49 TP220170823pos-50
1 22744.04 43727.39 25901.80 36771.81 23925.68 30524.43
2 0.00 0.00 0.00 37894.31 37103.62 33042.50
3 88752.27 139099.31 79979.00 130399.10 90345.01 90159.49
4 40225.14 72674.44 40121.52 61857.07 48736.48 46398.95
5 0.00 0.00 0.00 19587.50 10146.16 17582.49
6 0.00 0.00 0.00 54149.82 52733.90 54033.67
我想用每个变量的新随机数更改每个零值。我首先更改了每个变量的名称以使它们相似,然后使用以下代码:
names(datapp)[1:6] <- "intensity"
library(data.table)
setDT(as.data.frame(datapp))[intensity == 0, intensity := (runif(.N, 0, 1))]
但是,当我运行此代码时,它只更改第一列中的 0,而不更改其他 5。有没有办法在其他列中也用随机数更改 0?
解决方案
推荐阅读
- node.js - 找不到模块'serviceAccountKey.json'
- html - 如何使用 flexbox 均匀地间隔嵌套和未嵌套的对象?
- javascript - Javascript为什么返回NaN?
- r - (dplyr 包)中的 do() 函数是否会自动在 R 中显示进度条?
- raspberry-pi - Raspbian@RPi3 无法使用 SenseHAT 启动
- multithreading - 如何使用通过观察者提供不可变的、线程安全的列表?
- flask - 如何让 Flask 网站捕获 Google 表单提交事件触发器以更新该网站?
- jira-agile - 在 Jira 软件中为任务添加评论
- ocaml - 尾递归 ocaml 函数,输出从 n 到 0 的数字列表;
- android - 使用带有 View.GONE 的 Firebase 适配器的 Recycler 视图中的空白空间