問題タブ [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.

0 投票する
3 に答える
233 参照

r - data.table の条件付きソート

data.table私はこの方法で切り詰めたい非常に大きなものを持っています:

  1. 一意の ID は 1 つだけ

  2. 同じログに「X」以外のデータがある場合、それ以外は残す必要があります

  3. X のみの場合、最初の X はそのままにしておく必要があります

  4. 「X」以外に複数ある場合は、「X」ではなく、カンマで区切られたままにする必要があります。

サンプル データセット:

必要な出力:

0 投票する
1 に答える
329 参照

r - 順序が異なる文字ベクトルに基づいて、データフレームの列名を置き換えます

私の質問は、データ フレームにベクトルの順序を課しながら、文字ベクトルに基づいて列名の名前を変更する方法です。同様の投稿をすべて読みましたが、私の質問には回答しません。

私はそのようなデータフレームに取り組んでいます:

理想的には、これらの列をインデックス、つまり q1、q3、q78、q99 に基づいて並べ替えたいと思います。しかし、これは難しそうです。

運が良ければ、並べ替えられた列名を含むベクトルもあります。

データ フレームの列名を に置き換えるのは、cols順序が異なるため明らかに正しくありません。これまでに到達した場所は次のとおりです。

colnames(df) <- match(colnames(df), cols)

df <- df[,order(names(df))]

これは、後者が列にある位置に置き換えますが、colnames(df)これらの数値はRによって整数として認識されないため、これらの数値を順序付けることはできません(Rは数値を変数の名前にすることを許可していないため)。そうすることができれば、df は cols と同じ順序になり、列名を置き換えるだけです。

どうすればこれを機能させることができますか?不可能な場合、代替手段は何ですか?

前もって感謝します。

0 投票する
1 に答える
26 参照

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.