データフレームの各行に関数を適用して、各要素に名前が付いているリストを取得しようとしていますが、正しい出力を取得できません。
これが各行に適用したい関数であると仮定します。
format_setup_name <- function(m, v, s) {
a <- list()
a[[paste(m, "machines and", v, s, "GB volumes")]] <- paste(num_machines,num_volumes,vol_size,sep="-")
a
}
これが入力データフレームの場合:
df <- data.frame(m=c(1,2,3), v=c(3,3,3), s=c(15,20,30))
次のようなリストを取得できません。
$`1-3-15`
[1] "1 machines and 3 15 GB volumes"
$`2-3-20`
[1] "2 machines and 3 20 GB volumes"
$`3-3-30`
[1] "3 machines and 3 30 GB volumes"
誰かが私にそれを行う方法のヒントを与えることができますか?
なぜこれが必要なのですか?さて、私selectizeInput
はデータベースからの値を使用して光沢のあるデータを入力したいと思います。複数の列を組み合わせているので、選択した入力を値と一致させる方法が必要です。
これは、適切な場所でオブジェクトに属性をsetNames
追加できる優れたユースケースですnames()
。また、を使用する場合はas.list
、ループすることなく1行でこれを行うことができます。
setNames(as.list(paste(df$m, ifelse(df$m == 1, "machine", "machines"), "and", df$v, df$s, "GB volumes")), paste(df$m,df$v,df$s,sep="-"))
# $`1-3-15`
# [1] "1 machine and 3 15 GB volumes"
#
# $`2-3-20`
# [1] "2 machines and 3 20 GB volumes"
#
# $`3-3-30`
# [1] "3 machines and 3 30 GB volumes"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加