如何删除DataFrame指定列的error值后让该列其余行向上偏移对齐
R实现删除第一列error值并对齐第二列
实现逻辑非常简单:先过滤掉player列中的error值,再在过滤后的向量末尾补上缺失的对应值,最后和第二列code重新组合即可。
完整实现代码
# 原始数据构造 player <- c( "ronaldo", "neymar", "zidane", "error", "morata", "suarez") code <- c("ron897", "ney548", "zid176", "mor458", "sua932", "rob346" ) # 处理player列:过滤error,补全末尾对应值 new_player <- c(player[player != "error"], "rob carlos") # 重新生成结果(两种格式按需选择) # 1. 矩阵格式(和你示例原格式一致) df_new <- cbind(player = new_player, code = code) # 2. DataFrame格式 # df_new <- data.frame(player = new_player, code = code) # 输出查看结果 print(df_new)
运行输出结果
player code [1,] "ronaldo" "ron897" [2,] "neymar" "ney548" [3,] "zidane" "zid176" [4,] "morata" "mor458" [5,] "suarez" "sua932" [6,] "rob carlos" "rob346"
和你预期的输出完全一致。如果遇到多error的场景,只需对应补全和error数量一致的末尾值即可。
内容的提问来源于stack exchange,提问作者Stefano Maria De Francesco
相关产品推荐
相关产品推荐

