R数据框将字符串转换为数字

时间:2018-12-07 05:23:56

标签: r dataframe

我对R相当陌生,对于无知我们事先表示歉意。

我已使用read_csv将这个csv文件加载到“ df” Calendar pastYear = Calendar.getInstance(); pastYear.add(Calendar.YEAR, -2); Calendar nextYear = Calendar.getInstance(); nextYear.add(Calendar.DATE,1); CalendarPickerView calendar = (CalendarPickerView) findViewById(R.id.calendar_view); calendar.init(pastYear.getTime(), nextYear.getTime()) // .inMode(CalendarPickerView.SelectionMode.RANGE) .withSelectedDate(new Date()); calendar.setTypeface(Typeface.SANS_SERIF); ,并希望进行绘制,并正确分配了行名和列名。

dataframe

我无法将“ 52.26%”值转换为用于绘图的两倍。

我可以使用

逐列转换它们
        a     b      c    d    ...
x    0.5%  2.5%  16.3%  6.3%   ...
y    1.5%  0.5%  1.3%  6.3%   ...
z    0.5%  8.5%  16.3%  1.3%   ...
.
.

但是它不适用于整个框架。

aNum = as.numeric(sub("%", "", df$a))

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

就像Mike H.所说的那样,as.numeric将接收一个向量(它具有单一类型,例如stringint或其他任何类型),但不会接收数据框架(其中可能包含多种不同类型的变量)。 tidyverse库具有一些非常好的工具,可以有效地遍历数据帧,还为您提供了处理百分比的功能。

library(tidyverse)
df %>%
  mutate_all(.funs = readr::parse_number)