r - 将行中的所有数据移到一列
问题描述
我正在使用一个名为的数据框myData
,我正在尝试清理数据。在其中一行(在示例代码中,第 3 行)中,出现数据输入错误,B 留空,C、D、E 现在包含 B、C、D 的数据。如何在 RStudio 中使用基本命令?我完全被困住了。
A B C D E
--------------------
1 a 3 c 2 f
2 a 2 b 1 f
3 a 2 c 1
4 a 1 b 2 f
5 b 2 c 3 e
解决方案
我们可以首先获取值的索引 where B
isNA
然后移动这些行的列值。
rows <- df$B == ""
df[rows, 2:(ncol(df) - 1)] <- df[rows, 3:ncol(df)]
df[rows, ncol(df)] <- NA
df
# A B C D E
#1 a 3 c 2 f
#2 a 2 b 1 f
#3 a 2 c 1 <NA>
#4 a 1 b 2 f
#5 b 2 c 3 e
要更改列类型,我们可以使用type.convert
df <- type.convert(df)
数据
df <- structure(list(A = c("a", "a", "a", "a", "b"), B = c("3", "2",
"", "1", "2"), C = c("c", "b", "2", "b", "c"), D = c("2", "1",
"c", "2", "3"), E = c("f", "f", "1", "f", "e")), row.names = c("1",
"2", "3", "4", "5"), class = "data.frame")
推荐阅读
- c++ - 使用 Root/C++ 时出错:“TTree”的初始化没有匹配的构造函数
- php - 我修改了脚本以使用 php 7.1 将 eregi 更改为 preg_match,脚本在 wamp 上工作了几分钟,然后突然停止工作
- c# - 如何在 asp.net mvc 中将分页应用于 ViewModel
- javascript - 我的 setInterval() 方法快疯了
- javascript - 我使用 react.js 开发了 http://livexcellence.com 网站。刷新页面后链接会断开
- java - 如何为 android studio 安装 ffmpeg?
- r - 使用 R 从字母数字字符串中提取数字
- android - 印尼语文本转语音
- javascript - 模仿推文事件处理程序
- python - 如何使用 keras 将数组重塑为 3d