小编Jos*_*e R的帖子

R:将因子列转换为多个布尔列

我正在尝试将因子列转换为多个布尔列,如下图所示.使用精美weatherData包裹检索数据来自气象站.我想要转换为多个布尔列的因子列包含11个因子.其中一些是单一的"事件",其中一些是"事件"的组合.

这是一个显示我想要实现的目标的图像: 在此输入图像描述 这是R代码,它将生成具有组合因子的数据框,我想将其转换为几个布尔列:

df <- read.table(text="
date    Events
1/8/2013    Rain
1/9/2013    Fog
1/10/2013   ''
1/11/2013   Fog-Rain
1/12/2013   Snow
1/13/2013   Rain-Snow
1/14/2013   Rain-Thunderstorm
1/15/2013   Thunderstorm
1/16/2013   Fog-Rain-Thunderstorm
1/17/2013   Fog-Thunderstorm
1/18/2013   Fog-Rain-Thunderstorm-Snow",
                 header=T)
df$date <- as.character(as.Date(df$date, "%m/%d/%Y"))
Run Code Online (Sandbox Code Playgroud)

提前致谢.

boolean r dataframe

16
推荐指数
2
解决办法
2982
查看次数

R:如何使用Data Science Toolbox对一个简单的地址进行GeoCode

我厌倦了谷歌的地理编码,并决定尝试替代方案.Data Science Toolkit(http://www.datasciencetoolkit.org)允许您对无限数量的地址进行地理编码.R有一个很好的包,可以作为其功能的包装(CRAN:RDSTK).该软件包具有一个street2coordinates()与Data Science Toolkit的地理编码实用程序接口的函数.

但是,street2coordinates()如果您尝试对像City,Country这样简单的地理编码,则RDSTK功能不起作用.在下面的例子中,我将尝试使用该函数来获取凤凰城的纬度和经度:

> require("RDSTK")
> street2coordinates("Phoenix+Arizona+United+States")
[1] full.address
<0 rows> (or 0-length row.names)
Run Code Online (Sandbox Code Playgroud)

数据科学工具包的实用工具非常有效.这是提供答案的URL请求:http://www.datasciencetoolkit.org/maps/api/geocode/json?seamor = false& address = Phoenix + Arizona + UniteditedStates

我感兴趣的是对多个地址进行地理编码(完整的地址和城市名称).我知道Data Science Toolkit URL可以很好地工作.如何与URL连接并将多个纬度和经度带入具有地址的数据框?

这是一个示例数据集:

dff <- data.frame(address=c(
  "Birmingham, Alabama, United States",
  "Mobile, Alabama, United States",
  "Phoenix, Arizona, United States",
  "Tucson, Arizona, United States",
  "Little Rock, Arkansas, United States",
  "Berkeley, California, United States",
  "Duarte, California, United States",
  "Encinitas, California, United States", …
Run Code Online (Sandbox Code Playgroud)

maps geocoding r

13
推荐指数
2
解决办法
8058
查看次数

如何在R中的值为NA时跳过paste()参数

我有一个包含城市,州和国家列的数据框.我想创建一个串联的字符串:"城市,州,国家".但是,我的一个城市没有州(有一个国家NA).我希望那个城市的字符串是"城市,乡村".以下是创建错误字符串的代码:

# define City, State, Country
  city <- c("Austin", "Knoxville", "Salk Lake City", "Prague")
  state <- c("Texas", "Tennessee", "Utah", NA)
  country <- c("United States", "United States", "United States", "Czech Rep")
# create data frame
  dff <- data.frame(city, state, country)
# create full string
  dff["string"] <- paste(city, state, country, sep=", ")
Run Code Online (Sandbox Code Playgroud)

当我显示时dff$string,我得到以下内容.请注意,最后一个字符串有一个NA,,不需要:

> dff["string"]
                               string
1        Austin, Texas, United States
2 Knoxville, Tennessee, United States
3 Salk Lake City, Utah, United States
4 …
Run Code Online (Sandbox Code Playgroud)

r paste dataframe na

6
推荐指数
2
解决办法
6961
查看次数

R:将数据帧列表合并为单个数据帧,使用列表索引添加列

问题与这一问题非常相似.它用于将数据帧列表组合成单个较长的数据帧.但是,我希望通过添加包含列表索引(id或source)的额外列来保留数据来自列表项的信息.

这是数据(来自链接示例的借用代码):

dfList <- NULL
set.seed(1)
for (i in 1:3) {
     dfList[[i]] <- data.frame(a=sample(letters, 5, rep=T), b=rnorm(5), c=rnorm(5))
}
Run Code Online (Sandbox Code Playgroud)

使用下面的代码提供了连接数据框,但不添加列表索引的列:

df <- do.call("rbind", dfList)
Run Code Online (Sandbox Code Playgroud)

如何在创建列以捕获列表中的原点时连接列表中的数据框?类似于以下内容:

在此输入图像描述

非常感谢你提前.

r dataframe rbind do.call

6
推荐指数
1
解决办法
1975
查看次数

如何将XML的一部分转换为数据框?(正确)

我试图从ClinicalTrials.gov的XML文件中提取信息.该文件按以下方式组织:

<clinical_study>
  ...
  <brief_title>
  ...
  <location>
    <facility>
      <name>
      <address>
        <city>
        <state>
        <zip>
        <country>
    </facility>
    <status>
    <contact>
      <last_name>
      <phone>
      <email>
    </contact>
  </location>
  <location>
    ...
  </location>
  ...
</clinical_study>
Run Code Online (Sandbox Code Playgroud)

我可以在以下代码中使用CRAN的R XML包从XML文件中提取所有位置节点:

library(XML)
clinicalTrialUrl <- "http://clinicaltrials.gov/ct2/show/NCT01480479?resultsxml=true"
xmlDoc <- xmlParse(clinicalTrialUrl, useInternalNode=TRUE)
locations <- xmlToDataFrame(getNodeSet(xmlDoc,"//location"))
Run Code Online (Sandbox Code Playgroud)

这样做很好.但是,如果查看数据框,您会注意到xmlToDataFrame函数将所有内容集中在<facility>一个连接的字符串中.解决方案是编写代码以逐列生成数据框,例如,您可以生成

xml r

5
推荐指数
1
解决办法
1241
查看次数

标签 统计

r ×5

dataframe ×3

boolean ×1

do.call ×1

geocoding ×1

maps ×1

na ×1

paste ×1

rbind ×1

xml ×1