2014-09-03 346 views
0

我有一个数据集,我想用数字数据替换文本数据。如何替换R中一列数据集中的值?

我摄入的数据是这样的:

> credit_arff <- read.arff("/Users/birdy/credit-g.arff") 

> factor(table(credit_arff$checking_status)) 
     <0  >=200 0<=X<200 no checking 
     274   63   269   394 

我想与-1

这里是更换所有<0值的数据看起来像在View

enter image description here

替换后的号码<0 s应保持相同(即274

+0

这已经是一个因素。你想通过将值更改为“-1”来完成什么?只是重新命名级别的工作? 'level(credit_arff $ checking_status)[1] < - “ - 1”'假设'class(credit_arff $ checking_status)'已经是一个“因素”。由于它只是一个标签,因此“-1”在任何有意义的方面与“<0”没有任何区别。 – MrFlick 2014-09-03 17:56:38

+0

我的目标是能够绘制直方图。当数据是文本的时候,我无法做到这一点。最终,我想要替换所有文本数据。即''0'会变成'-1' ...'不检查'会变成'0'等 – birdy 2014-09-03 18:00:05

+0

'hist(credit_arff $ checking_status)'不起作用,但是'hist(credit_arff $ duration)'做因为'duration'是全部数字。这些数据已经以“数字”形式提供,但没有意义,因为没有数字代表的映射:https://archive.ics.uci.edu/ml/machine-learning-databases/statlog/german/german .data-numeric – birdy 2014-09-03 18:01:28

回答

0

您可以从“< 0”修改原始数据为“-1”之前,你与它制成表格:

credit_arff$checking_status[ credit_arff$checking_status=="<0" ] <- "-1" 

或者你可以先制成表,然后用获得的标题

rownames(table(credit_arff$checking_status) 

...并在那里更改它,如果你想。限制因素是数据矢量或rownames矢量不包含数字和字符数据的混合。即使您从上面的代码中省略“-1”左右的双引号,数据也会变为“-1”。这是否可以接受取决于你接下来要做的事情。或者你是否将所有其他内容更改为数字?

+0

这样做会改变由factor(table(credit_arff $ checking_status))检索到的<0的值。 – birdy 2014-09-03 18:03:45

+0

你是说它改变了“<0”的* count *?我看不出为什么。也许想出一个小例子,我们可以复制粘贴来复制问题。 – Joe 2014-09-03 21:27:02