我正在寻找一种方法将我的数据帧拆分为多行。将R数据帧拆分为几行
我的测试输入数据看起来像这样
data <- read.table(text ="group; yr1; yr2; val; col2
a; 1927; 1934; -140; coltest
a; 1953; 1955; -480; coltest
b; 1957; 1958; -280; coltest1
b; 1961; 1965; -1420; coltest1 ", sep=";", header=T,stringsAsFactors = FALSE)
我所寻找的是来计算,每年的价值和它在一排这样写出来的方式:
group; yr1; yr2; val; col2
a; 1927; 1928; -20; coltest
a; 1928; 1929; -20; coltest
a; 1929; 1930; -20; coltest
a; 1930; 1931; -20; coltest
a; 1931; 1932; -20; coltest
a; 1932; 1933; -20; coltest
a; 1933; 1934; -20; coltest
a; 1953; 1954; -240; coltest
a; 1954; 1955; -240; coltest
b; 1957; 1958; -280; coltest1
b; 1961; 1962; -355; coltest1
b; 1962; 1963; -355; coltest1
b; 1963; 1964; -355; coltest1
b; 1964; 1965; -355; coltest1
我可以像这样计算一年中的每个值,但无法将其分割为单独的行。
data$new <- data$val/(data$yr2-data$yr1)
谢谢。但我得到一个错误'无法找到函数“expandRows”'。我在MacOs X 10.8.5和使用R.3.1.1。我用命令'install.packages(“splitstackshape”)' – nebuloso 2014-12-02 13:33:00
安装了这个软件包,我没有得到它的工作。我运行了splitstacks软件包版本1.2.0和data.table 1.9.2,并从源代码重新安装了这两个软件包。 – nebuloso 2014-12-02 13:47:48
尼斯的答案,尤其是与比较(如预期的那样)(+1) – 2014-12-02 13:53:50