質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
RStudio

RStudioは、Rのプログラミングを効率化する統合開発環境です。統計計算とグラフィックスができるプログラミング言語であるRのIDEでOSSで公開されています。ソースコードやコンソールなどが一つの画面に見やすく配置されている点が特徴。コマンド名以外に、関数名やパッケージ名も補完できます。

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

1498閲覧

[R] list.files()のアウトプットが文字化けしてしまう

toufya

総合スコア15

RStudio

RStudioは、Rのプログラミングを効率化する統合開発環境です。統計計算とグラフィックスができるプログラミング言語であるRのIDEでOSSで公開されています。ソースコードやコンソールなどが一つの画面に見やすく配置されている点が特徴。コマンド名以外に、関数名やパッケージ名も補完できます。

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

1クリップ

投稿2022/01/25 08:21

前提・実現したいこと

作業ディレクトリ内のフォルダ名をリストで取得したい。

発生している問題・エラーメッセージ

日本語が混ざっているフォルダだと、以下のように文字化けが起きてしまう

>list.files() [1] "Office 縺ョ繧ォ繧ケ繧ソ繝<a0> 繝<86>繝ウ繝励Ξ繝シ繝<88>" [2] "Brayer_2011_PNAS.pdf" [3] "desktop.ini" [4] "Font" [5] "Github"

試したこと

Golobal optionsからデフォルトのエンコーディング形式をユニコード形式のUTF-8に設定したが、変わらず。

使用環境

Windows 10
Rstudio 64 bit

R

1> sessionInfo() 2R version 4.1.2 (2021-11-01) 3Platform: x86_64-w64-mingw32/x64 (64-bit) 4Running under: Windows 10 x64 (build 19042) 5 6Matrix products: default 7 8locale: 9[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Japan.932 LC_MONETARY=Japanese_Japan.932 10[4] LC_NUMERIC=C LC_TIME=Japanese_Japan.932 11system code page: 65001 12 13attached base packages: 14[1] stats graphics grDevices utils datasets methods base 15 16loaded via a namespace (and not attached): 17[1] compiler_4.1.2 tools_4.1.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

list.files()での解決方法は残念ながら私も分からないのですが、作業ディレクトリ内のファイル・フォルダの一覧を取得する別の方法が有ります。

R

1library(tidyverse) 2system('powershell "Get-ChildItem > zz_temporary_file_list.txt"') 3f1 <- read_csv("zz_temporary_file_list.txt",locale = locale(encoding = "UTF-16LE"),show_col_types = FALSE,skip=7,col_names=FALSE) 4f2 <- f1 %>% mutate(file_list=str_sub(f1$X1,51,119)) %>% filter(file_list!='zz_temporary_file_list.txt')%>%select(file_list) 5system('powershell "Remove-Item -Path zz_temporary_file_list.txt"') 6f2

Output: 作業ディレクトリ内に小松菜 椎茸 白菜bananaのフォルダとtomato.txtピーマン.txtつる草②㍍.txtのファイルがありますが、問題なくtibbleの形で取得できました。

R

1# A tibble: 6 × 1 2 file_list 3 <chr> 41 小松菜 椎茸 52 白菜 63 banana 74 tomato.txt 85 ピーマン.txt 96 つる草②㍍.txt

環境
R 4.2.0
Windows 10 Home、バージョン 21H1 (MacbookAir のParallels Desktop上で稼働)

上記コードを解説しますと、Windowsに標準で付属しているPowerShellというツールを使ってzz_temporary_file_list.txtに一旦フォルダ・ファイルの一覧を書き出しています。

zz_temporary_file_list.txt

1 2 3 ディレクトリ: \\Mac\Home\Documents\folder1 4 5 6Mode LastWriteTime Length Name 7---- ------------- ------ ---- 8d----- 2022/05/21 17:55 小松菜 椎茸 9d----- 2022/05/21 9:46 白菜 10d----- 2022/05/21 9:46 banana 11------ 2022/05/21 18:06 0 zz_temporary_file_list.txt 12------ 2022/05/21 5:41 0 tomato.txt 13------ 2022/05/21 9:56 0 ピーマン.txt 14------ 2022/05/21 5:40 0 つる草②㍍.txt

これをRに読み込んでいます。試してみてください。

ちなみに私の環境ではlist.files()でも文字化けはしておりません。

R

1> list.files() 2[1] "banana" "tomato.txt" "つる草②㍍.txt" "ピーマン.txt" 3[5] "小松菜 椎茸" "白菜"

投稿2022/05/21 09:09

Hyakutake

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問