如何确定R中的黄道带符号?

时间:2015-08-05 13:07:02

标签: r

我今天使用ExcelR做了一些统计。部分工作需要根据出生日期确定生肖符号。我在Excel中这样做了:

示例数据:

DOB
25-Jan-1985
25-Jul-1983
28-Aug-1982
24-Feb-1984
13-Jan-1985
24-Jan-1982
15-Feb-1984
14-Oct-1983
08-Sep-1984
04-Mar-1983
04-Apr-1984
31-Mar-1985
04-Aug-1984
29-Jan-1984
20-Jul-1984
...

以下是确定黄道带符号的规则:

Dec. 22 - Jan. 19 - Capricorn 
Jan. 20 - Feb. 17 - Aquarius 
Feb. 18 - Mar. 19 - Pisces 
March 20 - April 19 - Aries 
April 20 - May 19 - Taurus 
May 20 - June 20 - Gemini 
June 21 - July 21 - Cancer 
July 22 - Aug. 22 - Leo 
Aug 23 - Sept. 21 - Virgo 
Sept. 22 - Oct. 22 - Libran 
Oct. 23 - Nov. 21 - Scorpio 
Nov. 22 - Dec. 21 - Sagittarius

Excel公式:

=LOOKUP(--TEXT(A2,"mdd"),{101,"Capricorn";120,"Aquarius";219,"Pisces";321,"Aries";420,"Taurus";521,"Gemini";621,"Cancer";723,"Leo";823,"Virgo";923,"Libran";1023,"Scorpio";1122,"Sagittarius";1222,"Capricorn"})

我想知道如何在R中执行此操作?另外data.table很棒,是否可以在data.table中找到它?

1 个答案:

答案 0 :(得分:5)

假设您的数据名为dat。

首先,将其转换为日期格式:

Zodiac

然后使用DescTools中的library(DescTools) dat$Zodiac <- Zodiac(dat$DOB) dat 函数,如@Josh在评论中提到的那样:

object[] methodParameters = new object[3];
methodParameters[0] = new Dictionary<string, string>() { { "port", parameters["port"] }, { "message", Settings.RELAY_1_2_OFF_OFF } };
methodParameters[1] = null;
methodParameters[2] = null;
//...some code..
methodParameters[1] = new Dictionary<string, string>() { { "port", parameters["port"] }, { "message", Settings.RELAY_3_4_OFF_OFF } };
methodParameters[1] = null;
methodParameters[2] = null;