for循环中的动态列名

小姑娘

我的代码有问题。我有这样的数据框:

A <- c(21, 234, NA, 286,NA)
B <- c(3,NA,NA, 8, 10)
data <- data.frame(A,B)
data

    A  B
1  21  3
2 234 NA
3  NA NA
4 286  8
5  NA 10

我想创造的效果是:

    A  B A_NA B_NA
1  21  3    0    0
2 234 NA    0    1
3  NA NA    1    1
4 286  8    0    0
5  NA 10    1    0

这是我的简单代码,但有些东西不起作用..

for(i in c(1:ncol(data)))
  {
    data[, ncol(data) + 1] <- ifelse(is.na(data[i]), 1, 0)
    names(data)[ncol(data)] <- paste0(colnames(data[i]), "_NA")
  }

因为效果是:

    A  B A A B A A
1  21  3 0 0 0 0 0
2 234 NA 0 0 1 0 0
3  NA NA 1 1 1 0 0
4 286  8 0 0 0 0 0
5  NA 10 1 1 0 0 0
阿克伦

我们可以使用lapply循环遍历 'data' 的列,检查元素是否为 NA ( is.na(x)),转换为整数 ( as.integer) 并将输出分配给新列

data[paste0(names(data), "_NA")] <- lapply(data, function(x) as.integer(is.na(x)))
data
#    A  B A_NA B_NA
#1  21  3    0    0
#2 234 NA    0    1
#3  NA NA    1    1
#4 286  8    0    0
#5  NA 10    1    0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在for循环中动态创建的变量

来自分类Dev

For循环中的动态Javascript条件

来自分类Dev

在 For 循环中动态更新变量?

来自分类Dev

Python:在for循环中创建新的列名

来自分类Dev

在PHP循环中动态创建jQuery Listview

来自分类Dev

如何在循环中动态添加XElement?

来自分类Dev

在foreach循环中动态显示按钮

来自分类Dev

在For ... Next循环中创建动态大小的数组

来自分类Dev

如何使这些变量在foreach循环中动态

来自分类Dev

在v-for循环中内插动态组件

来自分类Dev

在循环中动态声明和分配变量

来自分类Dev

如何在循环中动态添加XElement?

来自分类Dev

在For ... Next循环中创建动态大小的数组

来自分类Dev

内循环中的动态光标。多个游标

来自分类Dev

PHP While循环中的动态Rowspan

来自分类Dev

如何动态处理for循环中的引导行?

来自分类Dev

动态声音条循环中的AddEventListener

来自分类Dev

在python循环中刷新动态网页

来自分类Dev

循环中的动态变量python

来自分类Dev

在java循环中动态使用多个setMethods

来自分类Dev

JavaScript 中的变量在 for 循环中的动态命名

来自分类Dev

在 For 循环中动态命名 R 数据帧

来自分类Dev

Pentaho 在循环中动态替换表名

来自分类Dev

在 forEach 循环中使用动态键

来自分类Dev

在php的foreach循环中搜索动态键值

来自分类Dev

动态循环所有列名的数据集

来自分类Dev

在for循环中更改许多数据帧的列名

来自分类Dev

在循环中选择具有相似模式的列名称

来自分类Dev

如何在循环中更改数据框中的列名?