通过仅保留其3位数字的第一个数字 - R来更改列的所有单元格值

时间:2017-05-26 13:12:41

标签: r data-manipulation

我觉得这个名字非常自我解释。假设我想更改列std::unordered_map<std::string, std::string> map; map["hello"] = "greetings"; map["world"] = "greetings"; map["goodbye"] = "farewells"; map["cruel"] = "farewells"; map["world"] = "farewells"; for(auto && pair : map) { std::cout << pair.second << pair.first; } // greetings hello // farewells goodbye // farewells cruel // farewells world ,以便我获得的结果列只包含单元格内容的第一个数字:

我基本上想要将单元格内容减少到第一位数。我见过人们使用函数Zweck,但我希望能够实现它。

对于一些简单的解决方案有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我们可以使用substr根据位置提取角色

df1$Zweck <- as.integer(substr(df1$Zweck, 1, 1))
df1$Zweck
#[1] 2 2 2 2 2

如果我们查看?substr一般用法是

  

substr(x,start,stop)

其中x是一个'向量,&#39;开始&#39;并且&#39;结束&#39;参数分别表示字符和结束位置的起始位置