将函数应用于data.frame中的每一行,并将结果附加到R中的data.frame

Dav*_*aid 8 r function apply dataframe

看来我应该知道如何做到这一点,或者至少在这里或其他地方找到答案.不幸的是两者都没有用

我有一个客户数据框,其中一列是他们的id,另一列是他们的完整地址.我想为每一行添加3列,其中包含来自地理编码查找的lat,long和county代码.

该数据框看起来像

customer_id       fulladdress
     1            123 Main St., Anywhere, FL
     2            321 Oak St., Thisplace, CA
Run Code Online (Sandbox Code Playgroud)

我创建了一个地理编码函数,它接受完整的地址并返回一个带有lat,long和county列的数据框.

如何将我的地理编码功能应用于数据框的每一行,并将结果作为3列附加到现有数据框中,使其如下所示:

customer_id       fulladdress                      lat        long     county
     1            123 Main St., Anywhere, FL     33.2345    -92.3333   43754
     2            321 Oak St., Thisplace, CA     25.3333    -120.333   32960
Run Code Online (Sandbox Code Playgroud)

我尝试过使用apply和ddply,但我似乎无法弄清楚其中一个人在做什么.我用ddply尝试了这个,但它所做的只是让我回到原始数据框架.

ddply(customers[1:3,], .(fulladdress), function(x) { geocode(x$fulladdress)})
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

Dav*_*aid 4

感谢您让我走上正轨。这是最终起作用的:

cbind(customers, t(sapply(customers$fulladdress,geocode, USE.NAMES=F))) 
Run Code Online (Sandbox Code Playgroud)