字符串为int / float,大量多列-R

时间:2018-12-22 21:40:49

标签: r loops types readr

我有一个包含+100列的df,它们的数据类型是:

* * * * * /opt/nginxstartifdown.sh nginx > /dev/null

但是,有许多> table(sapply(df,class)) character factor integer 107 1 8 列实际上是整数或浮点数。接下来的列chr是我df中的(a,b,c)数据类型列的示例:

chr

我知道如何选择每一列,并将 a b c 1 "4" "35.2" "4" 2 "6" "21.4" "6" 3 "No value" "-10.1" "No value" 4 "4" "25.4" "3.2" 5 "2" "No value" "6.5" 6 "5" "65.0" "No value" 替换为"No value",然后将列从NaN更改为chrinteger。问题是,它们接近60-70列。因此,这是一项非常耗时的任务,我认为应该有一种更有效的方法。我一直在尝试这些替代方法:

  1. 使用if语句在df列中循环(仍试图找出哪种if语句可以确保我没有任何隐藏的错误,因为我无法检查60-70列是否进行了相应转换)。
  2. 试图找出一种读取代码(read.csv(),read_table(),read.delim()等)的方法,以提供具有正确数据类型的df并替换{{1} }和float一起自动添加。

因此,您知道一种比将60-70 "No value"列(带有数值)转换为整数/浮点数/数字数据类型更有效的方法吗?

0 个答案:

没有答案