我是 R 语言的初学者,我需要使用“Yield_CRD”表来实现以下“结果”表。任何帮助表示赞赏。
我需要获取下面的“结果”表。我怎样才能用r实现这个目的。请帮我。
Yield_CRD:
CRD YEAR Har_Ac Plant_Ac Har_Yield Plant_Yield
10 1951 1498300 1568100 39.5 37.7
10 1952 1551700 1589500 61.5 60
10 1953 1628200 1675200 55.1 53.6
10 1954 1451400 1504800 59.7 57.6
10 1955 1498100 1585700 46.3 43.7
10 1956 1214400 1532600 45.8 36.3
10 1957 1448900 1505500 58 55.8
10 1958 1483900 1567100 53.5 50.7
10 1959 1871400 1957900 58.3 55.7
10 1960 1855700 1945700 64.8 61.8
20 1951 1498300 1568100 49.5 47.7
20 1952 1551700 1589500 71.5 70
20 1953 1628200 1675200 65.1 63.6
20 1954 1451400 1504800 69.7 67.6
20 1955 1498100 1585700 56.3 53.7
20 1956 1214400 1532600 55.8 46.3
20 1957 1448900 1505500 68 65.8
20 1958 1483900 1567100 63.5 60.7
20 1959 1871400 1957900 68.3 65.7
20 1960 1855700 1945700 74.8 71.8
现在我需要下面的“结果”表:
对于CRD(10):
Year HHar_Ac Plant_Ac Har_Yield Plant_Yield
1951 1498300 1568100 39.5 37.7
1951 1498300 1568100 39.5 37.7
1952 1551700 1589500 61.5 60
1953 1628200 1675200 55.1 53.6
1954 1451400 1504800 59.7 57.6
1955 1498100 1585700 46.3 43.7
1956 1214400 1532600 45.8 36.3
1957 1448900 1505500 58 55.8
1958 1483900 1567100 53.5 50.7
1959 1871400 1957900 58.3 55.7
1960 1855700 1945700 64.8 61.8
我有以下代码,但它不起作用
flows <- list()
i <- which(YieldCRD[,1] == 20, arr.ind=TRUE)
t0 <- i[1]
tend <- i[length(i)]
for (j in t0:tend) {
flows <- t(as.numeric(YieldCRD[j,2:ncol(YieldCRD)]))
colnames(flows) <- c('Year','Harvest_Acres','Planted_Acres','Harvest_Yield','Planted_Yield')
}
答案 0 :(得分:0)
看起来你只是试图抓住一部分行并删除一列(是吗?):
Results<-Yield_CRD[Yield_CRD$CRD==10,-YieldCRD$CRD]