lapplyを使用して、単一のデータフレーム列をデータフレームのリスト内の数値に変換する

ブレイド

データフレームのリストがあります。各dfには3つの列があり、すべてがタイプcharacterです。私が欲しいのは、lapply(または別の*apply関数)as.numericを使用して、「心臓発作」列を数値に変換するだけでなく、各データフレームの他の変数も保持することです。

サンプルデータは次のとおりです。

data <- structure(list(AK = structure(list(hospital = c("HOS_3", "HOS_4"
), state = c("AK", "AK"), `heart attack` = c("13.4", "17.7")), .Names = c("hospital", 
"state", "heart attack"), row.names = 3:4, class = "data.frame"), 
AL = structure(list(hospital = c("HOS_1", "HOS_2"), state = c("AL", 
"AL"), `heart attack` = c("14.3", "18.5")), .Names = c("hospital", 
"state", "heart attack"), row.names = 1:2, class = "data.frame"), 
AR = structure(list(hospital = c("HOS_5", "HOS_6"), state = c("AR", 
"AR"), `heart attack` = c("15.6", "16.9")), .Names = c("hospital", 
"state", "heart attack"), row.names = 5:6, class = "data.frame")), .Names = c("AK", 
"AL", "AR"))

このように見えます:

> data
$AK
hospital state heart attack
3    HOS_3    AK         13.4
4    HOS_4    AK         17.7

$AL
hospital state heart attack
1    HOS_1    AL         14.3
2    HOS_2    AL         18.5

$AR
hospital state heart attack
5    HOS_5    AR         15.6
6    HOS_6    AR         16.9

まったく同じ構造に戻したいのですが、「心臓発作」列を数値として使用します。これが私がこれまでに試したこと(他のSOの投稿と?docsと遊んでいることに基づいて)と何が悪いのかを説明するコメントです:

lapply(c, function(x) x[3] <- as.numeric(x[[3]])) # returns list of num vectors. Dropped other cols
lapply(c, function(x) x[[3]] <- as.numeric(x[[3]])) # returns list of num vectors. Dropped other cols
rapply(c, as.numeric, classes = 'character', how='list') # Correct structure in output but converts all other cols to NA
sapply(c, function(x) x[,3] <- as.numeric(x[,3])) # returns list of num vectors. Dropped other cols
lapply(c, function(x) lapply(x[,3], as.numeric)) # returns list of num vectors of single length
lapply(c, lapply, as.numeric([[3]])) # error unexpected '[[
lapply(c, function(x) {x[[3]] <- as.numeric(x[[3]])})# returns list of num vectors. Dropped other cols
lapply(c, lapply, as.numeric, [,3]) # error unexpected '[

よろしくお願いします!また、(可能であれば)ベースRだけを使用したいので、別のライブラリを持ち込む必要はありません(セキュリティの問題が発生しているため、常に許可されるとは限りません)。どうもありがとう。

ロナックシャー

あなたは非常に近かったので、1つの列を変更した後、完全なデータフレームを返す必要があります。したがって、列のクラスを名前で変更する場合は、

data <- lapply(data, function(x) {x$`heart attack` <- as.numeric(x$`heart attack`);x})

または、位置によってクラスを変更したい場合は、

data <- lapply(data, function(x) {x[[3]] <- as.numeric(x[[3]]);x})

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

lapplyを使用して、列の値に基づいてリスト内のデータフレームの名前を変更する方法

分類Dev

lapplyを使用して、単一のデータフレームをRのデータフレームのリストにサブセット化します

分類Dev

データフレーム内のリストに文字列値を変換して追加する

分類Dev

リスト内包表記を使用してデータフレーム内の単一の値を検索する

分類Dev

R lapply():リスト内のすべてのデータフレーム内のすべての列を数値に変更してから、すべての値をパーセンテージに変換します

分類Dev

Lapplyを使用して、リスト内の各データフレームに列を追加します

分類Dev

データフレームのリストを Scala の特定の列を持つ単一のデータフレームに変換する

分類Dev

各レベルが単一の列に入るリストをデータフレームに変換する

分類Dev

データフレームの列値をリストに変換する

分類Dev

データフレーム列の値をリストに変換する

分類Dev

データフレームのリスト内の変数を単一のデータフレームに集約します

分類Dev

データフレーム操作:データフレームの特定の列をキー値列に基づいてリストに変換します

分類Dev

R:リスト内のデータフレームの因数を数値に変換します

分類Dev

lapplyの出力をデータフレームに変換する

分類Dev

データフレームを使用してCSV列の値を複数の行に変換する

分類Dev

文字列のリストを使用してRのデータフレーム変数にアクセスする

分類Dev

最初に列の値を変換して、データフレーム内のデータを集計します

分類Dev

別のデータフレームからの一致を使用して、データフレームのリストの列の名前を変更する

分類Dev

パンダを使用して、データフレーム内の複数の列を単一の列に変換します

分類Dev

lapplyを使用して、列名が異なるデータフレームのリストの列名を変更する

分類Dev

データフレームのリスト内の同じ列から重複するすべての値を検索してNULLに変換します

分類Dev

別のデータフレームからの一致する値のリストを使用してデータフレーム列を作成する

分類Dev

リストのリストをデータフレーム内の配列の列に変換する

分類Dev

lapplyを使用してデータフレームのリストの列名を変更する

分類Dev

lapplyを使用してデータフレームのリストの列名を変更する

分類Dev

Pythonのデータフレームのリスト内の単一のデータフレームに値を割り当てます

分類Dev

データフレーム内の他の複数の列の値を使用して、データフレームに新しい列を追加する-spark / scala

分類Dev

因子変数によって等しくないデータフレームのリストを新しいデータフレームに変換する方法

分類Dev

1列のデータフレームの行のリストを単純な文字列に変換する

Related 関連記事

  1. 1

    lapplyを使用して、列の値に基づいてリスト内のデータフレームの名前を変更する方法

  2. 2

    lapplyを使用して、単一のデータフレームをRのデータフレームのリストにサブセット化します

  3. 3

    データフレーム内のリストに文字列値を変換して追加する

  4. 4

    リスト内包表記を使用してデータフレーム内の単一の値を検索する

  5. 5

    R lapply():リスト内のすべてのデータフレーム内のすべての列を数値に変更してから、すべての値をパーセンテージに変換します

  6. 6

    Lapplyを使用して、リスト内の各データフレームに列を追加します

  7. 7

    データフレームのリストを Scala の特定の列を持つ単一のデータフレームに変換する

  8. 8

    各レベルが単一の列に入るリストをデータフレームに変換する

  9. 9

    データフレームの列値をリストに変換する

  10. 10

    データフレーム列の値をリストに変換する

  11. 11

    データフレームのリスト内の変数を単一のデータフレームに集約します

  12. 12

    データフレーム操作:データフレームの特定の列をキー値列に基づいてリストに変換します

  13. 13

    R:リスト内のデータフレームの因数を数値に変換します

  14. 14

    lapplyの出力をデータフレームに変換する

  15. 15

    データフレームを使用してCSV列の値を複数の行に変換する

  16. 16

    文字列のリストを使用してRのデータフレーム変数にアクセスする

  17. 17

    最初に列の値を変換して、データフレーム内のデータを集計します

  18. 18

    別のデータフレームからの一致を使用して、データフレームのリストの列の名前を変更する

  19. 19

    パンダを使用して、データフレーム内の複数の列を単一の列に変換します

  20. 20

    lapplyを使用して、列名が異なるデータフレームのリストの列名を変更する

  21. 21

    データフレームのリスト内の同じ列から重複するすべての値を検索してNULLに変換します

  22. 22

    別のデータフレームからの一致する値のリストを使用してデータフレーム列を作成する

  23. 23

    リストのリストをデータフレーム内の配列の列に変換する

  24. 24

    lapplyを使用してデータフレームのリストの列名を変更する

  25. 25

    lapplyを使用してデータフレームのリストの列名を変更する

  26. 26

    Pythonのデータフレームのリスト内の単一のデータフレームに値を割り当てます

  27. 27

    データフレーム内の他の複数の列の値を使用して、データフレームに新しい列を追加する-spark / scala

  28. 28

    因子変数によって等しくないデータフレームのリストを新しいデータフレームに変換する方法

  29. 29

    1列のデータフレームの行のリストを単純な文字列に変換する

ホットタグ

アーカイブ