【发布时间】:2015-01-24 10:26:48
【问题描述】:
我在 R 中有一个更大的数据框,我希望通过行名进行一些计算。下面部分显示的数据框包含 236 个气象站,每个站显示 9 次,因为每个站对每个天气变量都有 9 个单独的预报时间。每小时未在其自己的列中列出这一事实无关紧要,因为我希望将降雪量加在一起并平均风和温度。因此,我的最终数据框会将数据框连接成 236 行(每个站点一行),其中包含总降雪量、平均风速和平均温度。
我在 apply 系列中尝试了许多功能,并在 dplyr 包中尝试过,但它不喜欢行名。我也无法将数据框转换为实际格式(包括 R 的正确数据框格式),以便行名和天气变量可以一起对它们进行计算。我将行名称列为一个字符,并将它们作为矩阵 cbind 到我的原始数据框,但这也不起作用。
卡在这里,有什么想法吗?
这是我的数据框的一小部分(此处的复制粘贴功能无法让我保持其连贯性,因此我尽可能添加了一个站点,因此引号不在实际数据中)我没有还拥有肖像权。谢谢。
snowfall sfc.wind Tavg
EET - Alabaster, AL "0" "5.606221" "45.38081"
编辑: 我在下面被告知如何正确粘贴到我的矩阵中,就在这里。
Sean 下面的代码解决了我的问题。它旁边有一个绿色复选标记。
snowfall sfc.wind Tavg
EET - Alabaster, AL 0.00000000 4.5129950 39.490030
EET - Alabaster, AL 0.00000000 4.5047869 36.087611
EET - Alabaster, AL 0.00000000 5.0126637 39.441394
EET - Alabaster, AL 0.00000000 5.0111759 45.682309
EET - Alabaster, AL 0.00000000 2.8716592 42.776499
EET - Alabaster, AL 0.00000000 2.7937856 37.322987
EET - Alabaster, AL 0.00000000 2.5351705 36.701948
EET - Alabaster, AL 0.00000000 1.9576756 34.456469
EET - Alabaster, AL 0.00000000 1.6846636 34.150641
BHM - Birmingham, AL 0.00000000 4.5466909 38.533949
BHM - Birmingham, AL 0.00000000 4.4607041 34.891818
BHM - Birmingham, AL 0.00000000 5.1888168 38.405422
BHM - Birmingham, AL 0.00000000 5.4596529 44.992042
BHM - Birmingham, AL 0.00000000 3.0826392 42.159321
BHM - Birmingham, AL 0.00000000 2.8546392 36.715275
BHM - Birmingham, AL 0.00000000 2.5729845 36.133261
BHM - Birmingham, AL 0.00000000 2.0355549 33.933232
BHM - Birmingham, AL 0.00000000 1.7289972 33.543341
DCU - Decatur, AL 0.00122047 3.6517845 34.109912
DCU - Decatur, AL 0.00000000 3.6832448 31.485904
DCU - Decatur, AL 0.00000000 4.2819648 35.502855
DCU - Decatur, AL 0.00000000 5.2777885 43.234060
DCU - Decatur, AL 0.00003937 3.0233904 40.613362
DCU - Decatur, AL 0.00003937 2.7680023 35.587844
DCU - Decatur, AL 0.00000000 2.0555607 34.899179
DCU - Decatur, AL 0.00000000 1.4499551 32.708740
DCU - Decatur, AL 0.00000000 1.2004947 32.616132
【问题讨论】:
-
快速评论您的一行数据 - 它看起来像字符而不是数字。您可以通过
str(yourdata)进行检查 -
R 数据框不能有重复的行名,但矩阵可以,这让我怀疑你的数据是一个矩阵。试试
df <- data.frame(yourMatrix),它将删除行名。将它们添加为带有df <- cbind(rownames(yourMatrix), df)的列。然后,您至少会有一个数据框,其中包含行名称作为要操作的列。 -
绝对,好主意。你能再告诉我如何正确发布代码吗?我正在尝试使用 {} {sample
-
打开的编辑框上方的图标包括一个看起来像成对的花括号的图标。选择您的代码块,然后单击该图标。
标签: r