r - 循环遍历 R 中的空数据框并将值分配给列
问题描述
我正在尝试定义一个包含 5 列的空数据框,然后使用 for 循环为每一列分配值。我写了以下几行:
k = 1:5
dfk = data.frame(k1 = c(), k2 = c(), k3 = c(), k4 = c(), k5 = c())
for (j in 1:5){
for (i in 1:12){
dfk[j] = c(dfk[j], i+j)
}
plot(1:12, dfk[j])
}
我收到以下错误:
“ [.data.frame
(dfk,j)中的错误:选择了未定义的列回溯:1.dfk [j] 2. [.data.frame
(dfk,j)3.停止(“选择了未定义的列”)”
解决方案
你有3个问题。
- 当您尝试使用 初始化
dfk
时k1 = c()
,您会得到一个空的逻辑向量。稍后在循环中,当您尝试将该向量与整数组合时,您会得到一个列表,该列表不能分配给data.frame
. 而是将列设置为空vector()
s。 - 您需要
dfk
使用二维子集分配值,否则替换将成为目标的不合适长度。因此使用dfk[i,j]
选择一个值并用一个值替换它。 - 您调用 plot on
dfk[j]
,但计算结果为 12 行 x 1 列 data.frame。你可以使用dfk[[j]]
.
k = 1:5
dfk = data.frame(k1 = vector(), k2 = vector(), k3 = vector(), k4 = vector(), k5 = vector())
for (j in 1:5){
for (i in 1:12){
dfk[i,j] = i+j
}
plot(1:12,dfk[[j]])
}
推荐阅读
- python - Mac上的MNIST手数字识别任务但不输出手写数字的照片
- javascript - 如果 IP 地址被批准,则仅允许用户在页面上
- html - 如何将下拉链接添加到现有的响应式导航菜单
- python - 找到给定数字的上下斐波那契边界
- javascript - 如何修复“无法在未安装的组件上执行 React 状态更新”。React Native 中的错误
- laravel - Laravel builder 获得价值
- pytorch - 无法转换 numpy.bool_ 类型的 np.ndarray
- c# - 如何在我的 Dot net core 项目中执行原始 SQL 查询?或者如何将它翻译成Linq?
- javascript - 如何在不发生内存泄漏的情况下添加 auth listener firebase
- javascript - 遍历我的主目录时导致 EPERM 错误的原因是什么?