私は次のデータを持っていると仮定します
specialty <- c("Primary Care", "Internal Medicine Subspecialties" ,
"Pediatric subspecialties","Surgical subspecialties", "Emergency
Medicine","All other specialties", "No Medical specialty")
test <- c(23,43,67,77,54)
dfTEST <- data.frame(test)
dfTEST<- t(dfTEST)
colnames(dfTEST) <- c(1,2,4,5,7)
> dfTEST
1 2 4 5 7
test 23 43 67 77 54
dfTestには、数値をスキップする5つの変数があることに注意してください。これらの列番号(1、2、4、5、7)を専門にマップするデータフレームを作成する必要があります。専門は、dfTest colnamesに調整される7つの文字列です。意味dfTest 2 = "Internal Medicine Subspecialties"およびdfTest 4 = "surgical subspecialtiesなど。以下は、私が達成しようとしていることのスニペットですが、その方法については困惑しています。 colnamesの数字が何であっても、コードは引き続き機能します。
> dfTEST
1 2 4 5 7
test 23 43 67 77 54
added "primary care" "internal" ...
回答 2 件
これで問題が解決するはずです。
library(dplyr) specialty_lookup <- data.frame(specialty = c("Primary Care", "Internal Medicine Subspecialties", "Pediatric subspecialties", "Surgical subspecialties", "Emergency Medicine", "All other specialties", "No Medical specialty"), test = 1:7, stringsAsFactors = F) data <- data.frame(code = c(23,43,67,77,54), test = c(1,2,4,5,7)) data <- data %>% left_join(specialty_lookup) data_wide <- data %>% select(-test) %>% t() %>% data.frame() colnames(data_wide) <- data$test data_wide
ただし、これが本当にデータに必要な形式であるかどうかを自問する必要があります。あなたの問題を少しだけ見ることができたので、次の形式がより適切です。
library(dplyr) specialty_lookup <- data.frame(specialty = c("Primary Care", "Internal Medicine Subspecialties", "Pediatric subspecialties", "Surgical subspecialties", "Emergency Medicine", "All other specialties", "No Medical specialty"), test = 1:7, stringsAsFactors = F) data <- data.frame(code = c(23,43,67,77,54), test = c(1,2,4,5,7)) data <- data %>% left_join(specialty_lookup) data
関連した質問
お役に立てれば:
出力: