を使用して、mymonths
データフレームのリストで数値の月(1,2,3,4..12)を月の省略形(を参照)に変換しようとしていますが、正しく出力されないようです。リスト内のすべてのデータフレームには同じ変数があります。df_list
lapply
以下のコードを使用すると、newdf_list2
には新しい月の列のみが含まれ、元のフレームの他のデータは含まれません。貧弱なサンプルデータで申し訳ありませんが、月の列だけでなく、元のデータセット全体を取得するための簡単なコマンドが不足していると思います。
# create example data
d1 <- data.frame(month = c(1:3), val = c(1,2,5))
d2 <- data.frame(month = c(1:5), val = c(1,2,5,6,8))
df_list <- list(d1, d2)
> df_list
[[1]]
month val
1 1 1
2 2 2
3 3 5
[[2]]
month val
1 1 1
2 2 2
3 3 5
4 4 6
5 5 8
mymonths <- c("JAN","FEB","MAR",
"APR","MAY","JUN",
"JUL","AUG","SEP",
"OCT","NOV","DEC")
df_list2 <- lapply(df_list , function(x) {
x[,1] <- mymonths [ x[,1] ]
})
> df_list2
[[1]]
[1] "JAN" "FEB" "MAR"
[[2]]
[1] "JAN" "FEB" "MAR" "APR" "MAY"
lapply
ビット内にデータフレームを出力する必要があります
# create example data
d1 <- data.frame(month = c(1:3), val = c(1,2,5))
d2 <- data.frame(month = c(1:5), val = c(1,2,5,6,8))
df_list <- list(d1, d2)
mymonths <- c("JAN","FEB","MAR",
"APR","MAY","JUN",
"JUL","AUG","SEP",
"OCT","NOV","DEC")
月の列が月を参照している場合は...
df_list2 <- lapply(df_list , function(x) {
x[,1] <- mymonths[ x[,1] ]
x
})
df_list2
[[1]]
month val
1 JAN 1
2 FEB 2
3 MAR 5
[[2]]
month val
1 JAN 1
2 FEB 2
3 MAR 5
4 APR 6
5 MAY 8
値の列が月を参照している場合は...
df_list2 <- lapply(df_list , function(x) {
x[,1] <- mymonths[ x[,2] ]
x
})
df_list2
[[1]]
month val
1 JAN 1
2 FEB 2
3 MAY 5
[[2]]
month val
1 JAN 1
2 FEB 2
3 MAY 5
4 JUN 6
5 AUG 8
ただし、で定義された関数内の各data.frameを出力する必要があります lapply
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加