1. ホーム
  2. r

[解決済み] R * 要因に意味がない ERROR

2022-02-06 11:54:44

質問

以下のようなdata.frameがあり、2列目に対して何らかの計算を行いたいのですが、どうすればよいでしょうか?

> test  
  code age
1  101  15
2  102  25
3  103  16
4  104  u1
5  105  u1
6  106  u2
7  107  27
8  108  27

ご覧のように、2列目には数字だけが含まれていません。このような場合は省略しました。

> new<-subset(test,code<104 | code>106)
> new
  code age
1  101  15
2  102  25
3  103  16
7  107  27
8  108  27

しかし、新しいカラムで計算しようとすると、このような結果になります。

> new["MY_NEW_COLUMN"] <- NA
> new
  code age MY_NEW_COLUMN
1  101  15            NA
2  102  25            NA
3  103  16            NA
7  107  27            NA
8  108  27            NA
> new$MY_NEW_COLUMN <-new[,2] * 5
Warning message:
In Ops.factor(new[, 2], 5) : * not meaningful for factors   


なぜそのようなことが起こるのでしょうか?何か提案はありますか?

解決方法は?

new[,2] は係数であり、数値ベクトルではありません。まず変換してください。

new$MY_NEW_COLUMN <-as.numeric(as.character(new[,2])) * 5