R - 逐行替换选定列中的值

安德鲁·伊夫斯

我想逐行用零替换特定月份之后的月度值。我曾尝试在不同的列中开始调整数据框中的替换 NA 值,但没有成功。给定数据:

df <- structure(list(Mth1 = c(1L, 3L, 4L, 1L, 2L), 
                      Mth2 = c(2L, 3L, 2L, 2L, 2L),
                      Mth3 = c(1L, 2L, 1L, 2L, 3L), 
                      Mth4 = c(3L, 1L, 3L, 4L, 2L),
                      ZeroMth = c(1L, 3L, 2L, 4L, 3L)),
                 .Names = c("Mth1", "Mth2", "Mth3", "Mth4", "ZeroMth"), class = "data.frame", 
                 row.names = c("1", "2", "3", "4", "5"))


> df
  Mth1 Mth2 Mth3 Mth4 ZeroMth
1    1    2    1    3       1
2    3    3    2    1       3
3    4    2    1    3       2
4    1    2    2    4       4
5    2    2    3    2       3

我想使用 ZeroMth 列中的值来指定替换开始的月份。所需的输出是:

> df1
  Mth1 Mth2 Mth3 Mth4
1    0    0    0    0
2    3    3    0    0 
3    4    0    0    0
4    1    2    2    0
5    2    2    0    0
D b

apply在每一行 ( MARGIN = 1)使用replace最后一列中指定的索引后的值为零

t(apply(X = df, MARGIN = 1, function(x)
    replace(x = x, list = x[NCOL(df)]:(NCOL(df)-1), values = 0)))
#  Mth1 Mth2 Mth3 Mth4 ZeroMth
#1    0    0    0    0       1
#2    3    3    0    0       3
#3    4    0    0    0       2
#4    1    2    2    0       4
#5    2    2    0    0       3

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中,逐行遍历data.frame并访问列值

来自分类Dev

替换R中两列中的值

来自分类Dev

替换R中两列中的值

来自分类Dev

比较列并替换R中的值

来自分类Dev

替换R中的列值范围

来自分类Dev

比较两列并替换R中的值

来自分类Dev

R dplyr:转换选定的列后选择所有列

来自分类Dev

在R中逐行删除重复值

来自分类Dev

快速替换R中矩阵的选定条目

来自分类Dev

将值替换为R列中的值

来自分类Dev

R根据列之间的匹配替换列中的值

来自分类Dev

R中数据框中的列的替换值

来自分类Dev

替换与R中的特定模式匹配的列中的值

来自分类Dev

在R中的不同列中替换多个“小于值”

来自分类Dev

根据R中的列和值替换矩阵中的项目

来自分类Dev

用R中相邻列中的值替换NA

来自分类Dev

R:逐行汇总一列的值并创建新列

来自分类Dev

R data.table替换多列中的值

来自分类Dev

R编程:替换数据框列中的缺失值

来自分类Dev

替换选定列中特定的按行重复的单元格,而不删除行

来自分类Dev

匹配两个文件中的 valueS 并替换选定的列

来自分类Dev

用R中另一列中的值替换特定列中的非NA值

来自分类Dev

在R中的矩阵中逐行获取最大值

来自分类Dev

R-在缺少值的Dataframe中逐行循环lm()

来自分类Dev

替换R中的整个列

来自分类Dev

替换R中的整个列

来自分类Dev

R; 对于A列中的每个级别,请按照C列的条件替换B列中的值

来自分类Dev

在vim中搜索并替换选定的文件路径

来自分类Dev

R的逐行最大值