r - R样本选择基本问题与nrow
问题描述
我按照一个教程将 ds 拆分为几个 withsample
并且效果很好。如果不了解下面示例中的数据集的幕后情况,我就无法入睡ind
,它是否知道/记得mtcars
某种方式,它只是单列整数。我在评论中指出了我想要得到的东西,R 如何知道数据集中标记为 1 或 2 的哪一行?
是的,我在基本语法上做了我的 Hwork,但这可能太简单了)
ind <- sample(2,nrow(mtcars), replace= T, prob = c(0.8,0.2))
ind
tdata <- mtcars[ind==1,] # select rows where ind = 1 ??!! but we don't have ind column in mtcars???
vdata <- mtcars[ind==2,]
在亚当的帮助下更新了我的解释。
ind
-- 具有单列 int 的独立独立 ds。与 没有任何逻辑关系mtcars
。我测试了这个手动创建它,它工作正常。- 然后它使用逻辑向量,匹配从 mtcars 到 ind 的 rownum。类似于:让检查 mtcars 中的第 1 行匹配(按 rownum)来自 ind 的第 1 行的值为 1,因此 ind==1 转换为 True 并选择原始。
如果我错了,请纠正我。
解决方案
(1) 这个语句是这样说的:“随机抽取数字 1 和 2 来替换 (32) 中有多少行的总数mtcars
,并使得 1 有 80% 的机会被选中2 有 20% 的机会被选中。
ind <- sample(2,nrow(mtcars), replace= T, prob = c(0.8,0.2))
(2) 这行代码mtcars
仅对向量 (ind) 为 1 的行进行子集化。代码ind==1
正在创建一个逻辑向量(即,充满TRUE
和FALSE
)值。只要有 1,ind==1
就会有TRUE
,否则就会有FALSE
。
tdata <- mtcars[ind==1,]
(3) 这行代码本质上与第 2 步做同样的事情,但对于ind
.
vdata <- mtcars[ind==2,]
推荐阅读
- python - 如何在图形标签中包含平方符号
- c# - 网页上的 Google 登录,在 ASP.NET 后端验证的令牌,没有使用客户端密码?
- javascript - 无法创建远程会话 - Eclipse - Appium
- react-native - react-native-firebase/admob rewardedAd.load() 第二次不工作
- web - Stack Overflow 配置文件中“标题”的用途是什么?
- swift - Swift 开发 pod
- flutter - 只有当上面的内容适合屏幕时,我才能在 Flutter 中对齐屏幕底部的区域。如果不是,所有内容都应该是可滚动的
- mysql - MySQL Node JS:选择查询结果到数组并在其他函数中使用这个数组
- docker - 在 go get 期间使用 docker alpine 会产生“未知修订”错误
- java - Android Java - OnCreate 中的竞争条件与两个观察者并制作列表