# 1つの列にRUNIFが行われますが、行の間のデータ型が異なります -- r フィールド 関連 問題

## Runif on one column but different data types between rows

1

### 問題

<事前> <コード> modelOption_RT <- data.frame( typeID = rep(c(2,1), each = 4), ID = c(1:8), modelOption = c("good", "avg", "bad", "marginCost", "year1Premium")[c(1,2,3,4,5,1,2,3)], descrip = c("Favorable", "Average", "Adverse", "Margin Cost", "Year 1 Premium")[c(1,2,3,4,5,1,2,3)], # Generate random values for model options vals = sort( round( runif(5, min=0, max=1), digits = 2 ), decreasing = TRUE)[c(1,2,3,4,5,1,2,3)] ) > modelOption_RT typeID ID modelOption descrip vals 1 2 1 good Favorable 0.61 2 2 2 avg Average 0.36 3 2 3 bad Adverse 0.24 4 2 4 marginCost Margin Cost 0.11 5 1 5 year1Premium Year 1 Premium 0.01 6 1 6 good Favorable 0.61 7 1 7 avg Average 0.36 8 1 8 bad Adverse 0.24

これには1つだけの問題があります - val列にあるすべての値はパーセンテージを表しますが、

• vals 列は通貨であるべきであるため、0から100000000
• の間の値である必要があります。

i.e

<事前> <コード> modelOption_RT[modelOption_RT\$modelOption == "year1Premium", "vals"] <- runif(1, min=0, max=10000)

I'm currently generating a dataframe as such -

``modelOption_RT <- data.frame(   typeID = rep(c(2,1), each = 4),   ID = c(1:8),   modelOption = c("good", "avg", "bad", "marginCost", "year1Premium")[c(1,2,3,4,5,1,2,3)],   descrip = c("Favorable", "Average", "Adverse", "Margin Cost", "Year 1 Premium")[c(1,2,3,4,5,1,2,3)],    # Generate random values for model options   vals = sort(       round(       runif(5, min=0, max=1),       digits = 2       ), decreasing = TRUE)[c(1,2,3,4,5,1,2,3)]     )  > modelOption_RT   typeID ID  modelOption        descrip vals 1      2  1         good      Favorable 0.61 2      2  2          avg        Average 0.36 3      2  3          bad        Adverse 0.24 4      2  4   marginCost    Margin Cost 0.11 5      1  5 year1Premium Year 1 Premium 0.01 6      1  6         good      Favorable 0.61 7      1  7          avg        Average 0.36 8      1  8          bad        Adverse 0.24 ``

There is just one problem with this - all the values currently in the val column represent a percentage, but:

• The vals column for year1Premium should be a currency, so any value between 0 and 100000000

Any suggestions? The only idea I had left was to create the dataframe as is, and the manually change the val value for year1Premium outside the dataframe function. Not sure if it's efficient.

i.e

``modelOption_RT[modelOption_RT\$modelOption == "year1Premium", "vals"] <- runif(1, min=0, max=10000) ``
</div

## 回答リスト

1

ベストアンサー

は、<コード> dplyr の<コード> http://localhost:8080/details/2 0 と` http://localhost:8080/details/2 1 `

を使用することができます <事前> <コード> http://localhost:8080/details/2 2

You can use `dplyr`'s `mutate()` and `replace()`.

``set.seed(96311)  library(dplyr) modelOption_RT <- data.frame(   typeID = rep(1:2, each = 4),   ID = 1:8,   modelOption = c("good", "avg", "bad", "marginCost",                    "year1Premium")[c(1:5, 1:3)],   descrip = c("Favorable", "Average", "Adverse", "Margin Cost",                "Year 1 Premium")[c(1:5, 1:3)],   vals = sort(round(runif(8, min=0, max=1), digits = 2), decreasing = TRUE)) %>%   mutate(vals = replace(vals, modelOption == "year1Premium",                          runif(1, min=0, max=10000)))  modelOption_RT # typeID ID  modelOption        descrip    vals # 1      1  1         good      Favorable    0.95 # 2      1  2          avg        Average    0.66 # 3      1  3          bad        Adverse    0.56 # 4      1  4   marginCost    Margin Cost    0.49 # 5      2  5 year1Premium Year 1 Premium 6032.65 # 6      2  6         good      Favorable    0.32 # 7      2  7          avg        Average    0.17 # 8      2  8          bad        Adverse    0.03 ``
</div

## 関連する質問

26  Rのベクトルで考える  ( Thinking in vectors with r )

1  Rを使用してデータポイントの対数形式のデータポイントを推定するにはどうすればよいですか。  ( How can i estimate the logarithmic form of data points using r )

8  R：シンプルなコマンドラインの作成ツール/キャプチャウィンドウ閉じるイベント  ( R building a simple command line plotting tool capturing window close events )

12  Rの重複属性を持つ行を取り除きます  ( Get rid of rows with duplicate attributes in r )

7  経済学を教えるための最高のプログラミング言語？ [閉まっている]  ( Best programming language for teaching econometrics )

191  あなた自身の関数を書くときにRの省略記号機能を使う方法？  ( How to use rs ellipsis feature when writing your own function )
R言語は、可変数の引数を取ることができる関数を定義するためのNIFTY機能を持っています。たとえば、関数 data.frame は任意の数の引数を取り、各引数は結果のデータテーブル内の列のデータになります。使用例： <事前> <コード> > data.fra...

10  RBIで変数をバインドします  ( Bind variables in r dbi )
Rの DBI パッケージで、バインド変数を使用するための機能を見つけていません。私はバインド変数について言われた文書（2002年からのオリジナルのビネット）を見つけました、「おそらくDBIはこの機能を実装することができます」はこれまでのところ、元に戻すことが...

2  空の文字列を含めるとRテーブルの列の順序  ( R table column order when including the empty string )

4  ASCIIキャラクターを表示します  ( Show an ascii character )
ブロックASCII文字█を表示したい（ASCIIコードは219）、 ターミナルに表示する方法は？ winxp でRGUIを使用しています ...

5  複数の変数で変換された複数の列を追加する  ( Adding multiple columns transforming with multiple variables )