問題タブ [data-wrangling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - data.table の条件付きソート
data.table
私はこの方法で切り詰めたい非常に大きなものを持っています:
一意の ID は 1 つだけ
同じログに「X」以外のデータがある場合、それ以外は残す必要があります
X のみの場合、最初の X はそのままにしておく必要があります
「X」以外に複数ある場合は、「X」ではなく、カンマで区切られたままにする必要があります。
サンプル データセット:
必要な出力:
r - 順序が異なる文字ベクトルに基づいて、データフレームの列名を置き換えます
私の質問は、データ フレームにベクトルの順序を課しながら、文字ベクトルに基づいて列名の名前を変更する方法です。同様の投稿をすべて読みましたが、私の質問には回答しません。
私はそのようなデータフレームに取り組んでいます:
理想的には、これらの列をインデックス、つまり q1、q3、q78、q99 に基づいて並べ替えたいと思います。しかし、これは難しそうです。
運が良ければ、並べ替えられた列名を含むベクトルもあります。
データ フレームの列名を に置き換えるのは、cols
順序が異なるため明らかに正しくありません。これまでに到達した場所は次のとおりです。
colnames(df) <- match(colnames(df), cols)
df <- df[,order(names(df))]
これは、後者が列にある位置に置き換えますが、colnames(df)
これらの数値はRによって整数として認識されないため、これらの数値を順序付けることはできません(Rは数値を変数の名前にすることを許可していないため)。そうすることができれば、df は cols と同じ順序になり、列名を置き換えるだけです。
どうすればこれを機能させることができますか?不可能な場合、代替手段は何ですか?
前もって感謝します。
r - Writing a function that uses for loop to replace the reporting values of one column in a dataset based on a character vector
what I'm trying here is to build a function that I could run every time that I want to replace the reporting values in a dataset with their actual answer options.
Hypothetically, I the following answer options used to describe cars' colour:
answer_options <- c("blue", "red", "yellow", "green")
and then a dataset that contains the colour column:
data <- data.frame(Animal=c("Parrot", "Pigeon", "Crocodile", "Impala", "Dolphin", "Dinosaur"), Colour=c(0,1,1,2,1,3), Year=c(2018, 2017, 2018, 2019, 2020, 2024))
I have looked into every relevant question in here but can't find a way to make the following function replace the reporting values with the corresponding answer_options (Please note that I could replace them alternatively but my mission is to build a function and not have to repeat blocks of code every time):
#xA;Now if I run:
answer.option.replacer(data, 2, answer_options, 4)
It prints the wished column with the values replaced but it doesn't actually replace them in the data. Any help would be really appreciated since I'm not very experienced with functions.