大家。我是R的初学者,有一个我无法理解的问题。我已在Stack Overflow中创建了多个查询来解决我的问题(指向结果here,here和here的链接),但没有一个解决了我的问题。关于问题:我有来自更大数据集的子集数据帧DAV。
> str(DAV)
'data.frame': 994 obs. of 9 variables:
$ MIL.ID : Factor w/ 18840 levels "","0000151472",..: 7041 9258 10513 5286 5759 5304 5312 5337 5337 5547 ...
$ Name : Factor w/ 18395 levels ""," Atticus Finch",..: 1226 6754 12103 17234 2317 14034 15747 4542 4542 14819 ...
$ Center : int 2370 2370 2370 2370 2370 2370 2370 2370 2370 2370 ...
$ Gift.Date : Factor w/ 339 levels "","01/01/2015",..: 6 6 6 7 10 13 13 13 13 13 ...
$ Gift.Amount: num 100 47.5 150 41 95 ...
$ Solic. : Factor w/ 31 levels "","aa","ac","an",..: 20 31 20 29 20 8 28 8 8 8 ...
$ Tender : Factor w/ 10 levels "","c","ca","cc",..: 3 2 3 5 2 9 3 9 9 9 ...
$ Account : Factor w/ 16 levels "","29101-0000",..: 4 4 4 11 2 11 2 11 2 11 ...
$ Restriction: Factor w/ 258 levels "","AAU","ACA",..: 216 59 216 1 137 1 137 1 38 1 ...
我的问题的两个相关列是MIL.ID,其中包含捐赠者的唯一ID,以及Gift.Amount,其中包含捐赠者提供的单个礼物的金额。单个MIL.ID通常与多个Gift.Amount条目相关联,这意味着捐赠者已经在多个不同的场合提供了不同的金额。这就是我想要做的事情:
我为这是多么基本道歉,如果对于已经问到的问题多余,我却找不到任何问题。
编辑以发表评论:
> print(ranking)
我正在努力让这里的格式正确,所以我加入了屏幕截图
答案 0 :(得分:0)
这应该这样做:
from collections.abc import Iterable # In python 2.x collections import Iterable
class Vector:
def __init__(self, *v):
try:
self.length = len(v)
except TypeError:
self.v = v
else:
if isinstance(v, Iterable):
self.v = v[0] if self.length == 1 else v
else:
self.v = v