r - R - 在 for 循环中按顺序删除列
问题描述
我正在尝试编写一个 for 循环,该循环将删除数据框中的每一列并将修改后的数据框保存到一个新变量中。
此代码说明了我希望循环执行的操作
df1 = df[,-1]
df2 = df[,-2]
df3 = df[,-3]
#failed loop syntax 1 (unexpected "[" in "df[i] = df[,-[")
for (i in 1:3){
df[i] = df[,-[i]]}
#failed loop syntax 2 (number of items to replace is not a multiple of replacement length)
for (i in 1:3){
df[i] = df[,-i]}
谁能帮我这个?这是一个例子来说明我想要实现的目标。真实数据集包含 28 行和 64 列。我试图了解删除 64 列中的任何一列如何影响 K 聚类图中 28 个项目的分布。我已经尝试过 PCA 图,但它们对于 64 个向量相对没用。
编辑:
slava-kohut 的代码(粘贴在下面)完美地解决了第一个问题。谁能帮我将以下代码的输出循环到一系列 K 簇图中,其中数据输入列为图标题?
for (i in 1:64){
assign(paste0(deparse(substitute(mydata)),i),mydata[,-i])
}
解决方案
我们也可以使用sapply
sapply(1:3, function(x) df[, -x])
推荐阅读
- amazon-web-services - 如何在aws上使用专用IP运行多个站点?
- python - 我们可以在 python 脚本中动态更改 tensorflow 版本吗?
- python - 用列表中的数据填充空的熊猫数据框
- java - 从 firebase db 设置微调器标题
- javascript - 错误:绝对路径://fileName/ 在量角器 nodejs 中解压缩文件夹
- ruby-on-rails - 从配置继承 Rails 引擎模型
- sql - Postgresql唯一约束无效
- deep-learning - 如何在 PyTorch 中聚合梯度?
- c - 将链接列表(包含动态字符串)保存(和读取)到 C 中的二进制文件中
- jenkins - 增加 Kubernetes Jenkins slave 的磁盘空间