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

Runif on one column but different data types between rows












1
vote

問題

日本語

現在データフレームを生成しています -

<事前> <コード> 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
  • の間の値である必要があります。

提案?私が残した唯一のアイデアは、そのままデータフレームを作成し、データフレーム関数の外側の1年間のPremiumのval値を手動で変更することでした。それが効率的であるかどうかわからない。

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
 
vote
vote
ベストアンサー
 

は、<コード> 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 ) 
私は、Rがベクトルとループを使って最も効率的に機能することを知っています。私は実際にこのようにコードを書くために自分自身を教えるのに苦労しています。私のコードを「ベクトル化」する方法についてのいくつかのアイデアが欲しいのですが。これは、10,000個の固有の状...

1  Rを使用してデータポイントの対数形式のデータポイントを推定するにはどうすればよいですか。  ( How can i estimate the logarithmic form of data points using r ) 
対数関数を表すデータ点を持っています R?を使ってこのデータを説明する関数を推定できるアプローチはありますか? ありがとう。 ...

8  R:シンプルなコマンドラインの作成ツール/キャプチャウィンドウ閉じるイベント  ( R building a simple command line plotting tool capturing window close events ) 
単純なコマンドラインプロットツールとして機能するスクリプト内でRを使用しようとしています。 NS。ユーザーパイプはCSVファイルでプロットを取得します。私はr罰金に到達して、さまざまな一時ファイルの機械加工を通して展示するためにプロットを取得することができます...

12  Rの重複属性を持つ行を取り除きます  ( Get rid of rows with duplicate attributes in r ) 
私は次のような列を持つ大きなデータフレームを持っています。 <事前> <コード> ID, time, OS, IP そのデータフレームの各行は1つのエントリに対応します。一部の IDS 複数のエントリ(行)のデータフレーム内には存在します。それらの複数行を...

7  経済学を教えるための最高のプログラミング言語? [閉まっている]  ( Best programming language for teaching econometrics ) 
現在立つにつれて、この質問は私たちのQ&AMPにとって良いフィットではありません。フォーマット。私たちは事実、参考文献、または専門知識によって支持されることを期待していますが、この質問は...

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 ) 
空の文字列を含む一連の値があります レベル(MyData $ Phone_Partner_Products) "" dont_know "" mays_intesting "> "not_inteenting" "very_not_inter...

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

5  複数の変数で変換された複数の列を追加する  ( Adding multiple columns transforming with multiple variables ) 
多くの変数から値を追加する方法? 2つの変数(列)を持っていた場合、私は単に行くことができます: <事前> <コード> summation.variable <- variable1 + variable2 またはそれがすべてデータフレームにあった場合:...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有