この広告は、90日以上更新していないブログに表示しています。
「とりあえずRstudio上でPythonが少し使えればいい」というライトユーザーなので、簡単そうな方法は以下の通り:
まず、reticulateをインストールする
install.packages("reticulate")
reticulateを使って、minicondaをインストールする
reticulate::install_miniconda()
(minicondaはC:/Users/username/AppData/Local/r-miniconda/にインストールされる)
必要なパッケージをインストールする。たとえばpandasをインストールする場合は以下のようにする
reticulate::py_install("pandas")
File→New file→Python scriptを選択してPythonのスクリプトを書く。あとはいつものRstudioの使い方と同じ
Minicondaのアップデートは
reticulate::miniconda_update(path = miniconda_path())
RstudioでのPythonサポート全般については:
https://support.posit.co/hc/en-us/articles/1500007929061-Using-Python-with-the-RStudio-IDE
reticulateについては:
https://rstudio.github.io/reticulate/
reticulateでの(Pythonの)パッケージインストールについては:
https://rstudio.github.io/reticulate/articles/python_packages.html
tibbleからdoubleのデータだけ取り出したい場合、どうすればいいか少し手間取ったので、覚書を残す。
require(dplyr) require(nycflights13) weather <- nycflights13::weather %>% select(origin, time_hour, temp, humid, precip) 注釈:このweatherというデータはoriginがchar, time_hourがdate, それ以外がdoubleになっている。
まず、うまく行かないやり方:
weather %>% select_if(is.double) うまく行かない理由:date型がdoubleを継承しているため、is.doubleでdate型のtime_hourも返されてしまう。
うまくいくやり方(is.numericを使う):
weather %>% select_if(is.numeric) うまくいく理由:よくわからない。numeric→double→dateと継承しているはずなので、is.numericでもdate型(time_hour)が返されるのが(仕様上は)正しいような気がするが、現時点(2024/03/09)のdplyrではdate型(time_hour)が返ってこない(参考文献2を参照されたい)。Bad know-howかも。
参考文献
r - Why is `select_if(., is_double)` returning dates? - Stack Overflow
[挿入]→[テキスト]→[フィールド(F)]→Seqを選択し、「フィールド・コード」の欄に「SEQ equation」などと入力する。
注意:SEQがコマンド、equationが識別子になる。
トラブルシューティング:連番が機能せず数字の順番がおかしくなった場合は、該当箇所を選択し、右クリックで「フィールド更新」を行なう
require(tidyverse)
date <- seq(as.Date("2020-1-1"), as.Date("2020-12-01"), by = "month")
date
value <- seq(1:12)
test <- data.frame(date,value)
test
# たとえば、lag()を使って、valueをずらすと
# 空いた欄にNAが入ることを確認するためのコード
# 1つ下にずらす
test |> mutate(value1 = lag(value,n=1)) |>
mutate(value2 = lag(value, n=2)) -> test1
test1
# replace_na()を使わずにNAを0に置き換える方法:
#https://stackoverflow.com/questions/49947592/replace-na-with-zero-in-dplyr-without-using-list
test1 %>% replace(is.na(.), 0) -> test2
test2
date <- seq(as.Date("2020-1-1"), as.Date("2021-12-01"), by = "month")
date
日ごとにしたければ、by="day"、四半期ごとにしたければ、by="quarter"
長くRを使っているのだが、最近知った(古くからある機能らしい)。
na_interpolation(x = dataset$variable_name, option = "linear")
以下のサイトの情報から自分が使うところだけ抜き出した:
参考文献:
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。