r - R编程虹膜数据集'x'中的规范化必须是至少二维的数组
问题描述
我有数据虹膜,我想制作数据虹膜-数据虹膜中每一列的平均值,所以我有这样的代码
y=iris[,1:4]
t=y-colMeans(y)
t
所以该列显示矩阵数据 iris - 列的平均值。所以我想问一下如何创建这样的但循环我这样写
for(i in 1:4){y[,i]=iris[,i]-colMeans(iris[,i])}
但是'x'必须是至少二维数组的结果问题
请帮我解决这个问题
解决方案
当您使用一列对数据框进行子集化时,它会将其转换为向量。为了避免这种使用drop = FALSE
。
for(i in 1:4){
y[, i] = iris[,i] - colMeans(iris[,i, drop = FALSE])
}
但是,由于您一次只取一列,您可以使用mean
而不是colMeans
多列。
for(i in 1:4){
y[, i] = iris[,i] - mean(iris[,i])
}
推荐阅读
- python - 找不到模块“libmultinest.dll”(或其依赖项之一)。尝试使用带有构造函数语法的完整路径
- macos - 将 zsh 提示更改为仅两个文件夹
- search - 如何将精简程序添加到 SharePoint 联机经典搜索页面
- vue.js - Vue-router 正在更改 url 但不重新渲染组件
- python - 主线程减慢线程 2-3 倍
- wpf - 复杂列表视图的 WPF 垃圾收集
- java - Get/Set 循环中的空指针异常
- amazon-s3 - 强制 Terraform 每次都应用新的状态文件 - S3 文件上传场景
- c# - 将 Microsoft Graph ListItem 输出转换为相应的 C# 类型
- arrays - 比较数组中的重复项。列出数组中包含和不包含的值