将列表转换为两个向量

时间:2017-07-01 01:53:48

标签: r

我有一个如下所示的列表:

spelling_lut <- list(
  "cra" = "car",
  "yr" = "year",
  "carrt" = "carrot",
  "wi" = "with"
)

我想将其转换为两个向量。我可以用names(spelling_lut)获得其中一个,但如果我去拼写_lut [1]我只能获得“汽车”。

为了便于阅读,我以这种方式构建拼写,同时手动浏览文本文档中的许多拼写错误并记录正确的拼写。我最初尝试创建两个向量,但我想在我的代码中的同一行上彼此相邻的每个单词的错误和正确版本(即我愿意接受更好的方法来做这个)。

与此同时,有没有办法创建第二个向量,其值为“car”,“year”,“carrot”,“with”?

2 个答案:

答案 0 :(得分:2)

我们可以使用stack创建两列data.framevector

df1 <- stack(spelling_lut)

答案 1 :(得分:0)

#include <iostream> #include <string> class Month { public: static Month New(int month) { std::cout << "-- Month.New() factory method called for value: " << month << std::endl; if (month < 0 || month >= 12) { std::cout << "-- Month.New() factory method found that month was invalid; throwing exception" << month << std::endl; throw /*exception type here*/; } return Month(month); } ~Month() { std::cout << "-- ~Month() destructor called." << std::endl; } int getMonth()const { return month_; } private: int month_; Month(int month) { month_ = month; } }; int makeMonths() { Month feb(2), jun(6), dec(13); std::cout << feb.getMonth() << std::endl; std::cout << jun.getMonth() << std::endl; std::cout << dec.getMonth() << std::endl; return 0; } int main() { makeMonths(); std::cout << "Press any key to exit"; std::cin.get(); return 0; } names(spelling_lut)