私はExcelデータセットをインポートしており、最初の文字である場合、ほぼすべての列(90以上)を数値に設定したいと考えています。これを達成するための最善の方法は、それぞれを1つずつ数値にインポートして変更するのが最も効率的な方法ではないからです。データセットの列を数値に変更する
4
A
答えて
0
あなたが望むように、これが何をすべき:
# Random data frame for illustration (100 columns wide)
df <- data.frame(replicate(100,sample(0:1,1000,rep=TRUE)))
# Check column names/return column number (just encase you wanted to check)
colnames(df)
# Specify columns
cols <- c(1:length(df)) # length(df) is useful as if you ever add more columns at later date
# Or if only want to specify specific column numbers:
# cols <- c(1:100)
#With help of magrittr pipe function change all to numeric
library(magrittr)
df[,cols] %<>% lapply(function(x) as.numeric(as.character(x)))
# Check our columns are numeric
str(df)
0
あなたのデータはすでに、すべての文字列にインポートされ、あなたが位置または名前でmutate_at
を使用して数値ために、関連する列を変換することができますと仮定:
suppressPackageStartupMessages(library(tidyverse))
# Assume the imported excel file has 5 columns a to e
df <- tibble(a = as.character(1:3),
b = as.character(5:7),
c = as.character(8:10),
d = as.character(2:4),
e = as.character(2:4))
# select the columns by position (convert all except 'b')
df %>% mutate_at(c(1, 3:5), as.numeric)
#> # A tibble: 3 x 5
#> a b c d e
#> <dbl> <chr> <dbl> <dbl> <dbl>
#> 1 1 5 8 2 2
#> 2 2 6 9 3 3
#> 3 3 7 10 4 4
# or drop the columns that shouldn't be used ('b' and 'd' should stay as chr)
df %>% mutate_at(-c(2, 4), as.numeric)
#> # A tibble: 3 x 5
#> a b c d e
#> <dbl> <chr> <dbl> <chr> <dbl>
#> 1 1 5 8 2 2
#> 2 2 6 9 3 3
#> 3 3 7 10 4 4
# select the columns by name
df %>% mutate_at(c("a", "c", "d", "e"), as.numeric)
#> # A tibble: 3 x 5
#> a b c d e
#> <dbl> <chr> <dbl> <dbl> <dbl>
#> 1 1 5 8 2 2
#> 2 2 6 9 3 3
#> 3 3 7 10 4 4
関連する問題
- 1. データセット内の複数の変数を変更する
- 2. 配列キー数値を別の値に変更する方法
- 3. R、データセットをマージするキーの値を変更する
- 4. SSRSパラメータ値を変更したときにデータセットを複数回実行する
- 5. データセットを変更する
- 6. 変数のセットの文字値を数値に変更する
- 7. 広いデータセットをSASの長いデータセットに変更する
- 8. 変数の値を別のPythonの変数に変更する
- 9. Rデータフレーム内の文字列を数値に変更する
- 10. 列のデータ型をテキストから数値に変更する
- 11. データセットから変数に値を取得する
- 12. 型付きデータセットの接続文字列を変更する
- 13. 名前変更列/変数値
- 14. 変更値列に値
- 15. xyデータセットを配列に変換する
- 16. 複数の列の値でデータセットを結合する
- 17. 列の値でデータセットを再フォーマットする
- 18. MYSQL-複数の列値の変更
- 19. 'n列'のcsvデータセットを '(n-1)列'データセットに変換するawkを使用
- 20. 既存のデータセットを変更する
- 21. データセットをCで変更した後にデータセットからデータベースを更新する#
- 22. jQuery変数の値を変更する
- 23. JMeter:JavaScript変数の値を変更する
- 24. 変数の値を2つの値に変更する
- 25. 列の値の符号を変更する複数のif文
- 26. ループ内の乱数の配列内の値を変更する
- 27. 行列の行と列の名前を数値に変更する
- 28. ultrawingridの列の値を変更する
- 29. パーティションの列の値を変更する
- 30. 変更列値
これをExcelで実行したいのですか、コードでコードをインポートして、コードを変更したいのですか? – STF
私の間違いは、これはRのために指定したはずです。Excelデータセットをインポートしようとしていますが、数値として入力されず、stringsAsFactor = FALSEが機能しないようです。 –
'sapply(foo.df、" as.numeric ")'を使って変数を数値形式に変換することができます。 –