当前位置: 首页 > 知识库问答 >
问题:

为什么包含字符串的R向量不能用数字代替?

微生阳平
2023-03-14

我在一个R数据帧中有一个向量,它字面上包含一年中月份的缩写形式(1月、2月、3月、4月、5月、6月、7月、8月、9月、10月、11月、12月),我想用它们的传统等价形式替换它们[1:12]

提出了以下想法,所有这些想法都给出了一个填充了不可用(NA)值的向量。

replace(df$month, df$month == 'JAN', '01')

df$month <- if(df$month == "JAN") '01'

df$month <- match(df$month,month.abb) 

前两个只使NA值分别为JAN,第三个使所有月份NA值

任何想法为什么这不起作用,以及如何让它工作?

共有1个答案

徐学潞
2023-03-14

我倾向于使用<code>合并<code>来实现这一点。

MonthRef <- data.frame(month_number = 1:12,
                       month_abb = toupper(month.abb))
#* Make a data frame of random months
Months <- data.frame(month = sample(MonthRef$month_abb, 20, replace=TRUE))

merge(Months, MonthRef, by.x="month", by.y="month_abb")

这比打字多了一点,但它的优点是,当我在六个月后回来时,我会非常清楚我做了什么。

 类似资料:
  • 我有这三个字符串: 我如何检查这些字符串中哪一个只包含字母还是只包含数字(用R表示)? 只能在字母检查中为TRUE 它对很有效,但对也很有效,这是我不想要的。 提前谢了。

  • 问题内容: 我使用的是Max OS X 10.10.3,在没有模块存在之前,我终于在Python 3中对此进行了展示。 但是,现在当我尝试或时,我收到消息: 是否有任何Mac用户(使用Python 3)知道出了什么问题?有人使用过Zelle书和他的模块吗?谢谢。 问题答案: 为了后代:我遇到了同样的问题,并使用 该文件似乎以多种方式弄乱了(错误的结尾等);不知道怎么… 参见: 使用以下sed命令删

  • 我能够通过使用下面这个问题的注释提供的代码来解决这个问题。所有其他帖子都是有效的! 我使用的有用的东西来自第一个评论。虽然提供的所有示例代码似乎也是有效的!

  • 两行的一个例子是:([a,b,c],d)和([d,e],a)我想把这些行转换成([a,b,c],[d,e])和([d,e],[a,b,c]) dataframe的列名是“src”和“dst”。 我如何处理这个问题?

  • 问题内容: 我需要编写一个比较字符串的Java Comparator类,但是要稍作改动。如果要比较的两个字符串在字符串的开头和结尾相同,并且中间不同的部分是整数,则根据这些整数的数值进行比较。例如,我希望以下字符串按显示顺序结束: aaa bbb 3 ccc bbb 12 ccc ccc 11 ddd eee 3 ddd jpeg2000 eee eee 12 ddd jpeg2000 eee 如

  • 问题内容: The Go Playground上可用的程序读取 并产生一个错误 我了解是字符串的“零值”。我不明白为什么我不能分配给我的。 问题答案: 简单的答案是, 在语言规范中未将其定义为类型的有效值。 …但是也许您想要更长的答案? 是指针,接口,通道,切片,映射和函数类型的零值,它表示 未初始化的 状态。 考虑以下变量声明: 所有这些变量都有一个代表未初始化状态的值,这很自然。已被声明为指针