我正在努力改进我的工作流程,并希望社区可以提供见解,因为我对"大数据"相对较新.
我通常从公共来源下载几个可以相互关联的数据帧.在提取了几个数据帧之后,我会在对最终数据集进行回归分析和/或其他推论统计之前,执行各种数据处理步骤(例如,过滤,排序,聚合,自定义计算).
具体而言,您会推荐哪种策略:
要么
sqldf,并使用后续查询sqldf从R中进行最终数据分析之前从该数据库中提取和聚合信息.我看到的问题是,在我的本地计算机上创建的数据库由少数表/数据帧组成,其sqldf大小比仅保存几个单独的.csv文件大.我对统计技术非常熟悉,但我确实在数据库管理和服务器操作方面存在一些知识空白.我熟悉SQL的基本要素,作为一种语言,我知道如何使用sqldf在R工作环境中运行的数据帧.但是,我坦率地不知道它提供了什么优势,而不仅仅是学习如何使用基本R函数来过滤,排序和聚合数据.另外,我已经阅读了一些关于将SQL Server与R配对的大肆宣传的网页,但我不确定这对我来说是否是一个不错的选择,因为我在本地运行所有内容.
关于如何通过将R与SQL的一些实现相结合来改进我的数据处理和分析的新手的任何提示?
先感谢您!
是否有一种可靠的方法来使用包含与数据帧列名称相对应的字符串列表的变量来传递给各种dplyr操作?
我刚刚进入dplyr。
当我尝试对数据框中的列子集使用操作时,dplyr当我在逗号分隔的列表中明确命名列时,效果会很好。
这段代码按预期工作
library(dplyr)
# Create dataframe
df <- data.frame(
a = c(1, 1, 1, 2, 2, 2)
, b = c(1, 2, 3, 1, 2, 3)
, c = c(1, 2, 1, 2, 1, 2)
)
# Identify rows where a * c is duplicated
df %>%
select(a, c) %>%
count(a, c) %>%
filter(n > 1)
Run Code Online (Sandbox Code Playgroud)
但是,有时我已经有了一个列名称列表,我想将其传递到步骤中,dplyr而不是显式命名每个列。但是,我还没有找到一种简单/方便的方法来执行此操作,该方法足够强大,可以处理多种dplyr操作:
该代码不起作用
# Attempting to do the same with a named list …Run Code Online (Sandbox Code Playgroud) 我的目标是使用网站提取与网站中特定css元素相关联的网址rvest.在查看其他几个类似的问题后,我想我需要将该html_attr函数与'href'参数一起使用.使用我目前的脚本,这只返回NA值,虽然我希望它返回URL.
输入以构建变量
library(rvest)
my_url <- "http://www.sherdog.com/events/UFC-Fight-Night-111-Holm-vs-Correia-58241"
my_read_url <- read_html(my_url)
my_nodes <- html_nodes(my_read_url, ".fighter_result_data a span , .right_side a span , .left_side a span")
Run Code Online (Sandbox Code Playgroud)
输入以查看是否my_nodes来自运动员的名字.
html_text(my_nodes)
Run Code Online (Sandbox Code Playgroud)
输出显示my_nodes正在选择我想要的css元素.
[1] "Holly Holm" "Bethe Correia" "Marcin Tybura"
[4] "Andrei Arlovski" "Colby Covington" "Dong Hyun Kim"
[7] "Rafael dos Anjos" "Tarec Saffiedine" "Jon Tuck"
[10] "Takanori Gomi" "Walt Harris" "Cyril Asker"
[13] "Alex Caceres" "Rolando Dy" "Yuta Sasaki"
[16] "Justin Scoggins" "Jingliang Li" …Run Code Online (Sandbox Code Playgroud) 我正在学习用Java创建类,但是遇到了奇怪的行为。
我想创建一个名为的类My_class,该类具有的方法add。该方法应采用的成员My_class并将其添加到My_class括号中指定的的另一个成员中。
例如,运行此命令:
My_class first = new My_class(2);
My_class second = new My_class(6);
My_class answer = first.add(second);
System.out.println(answer);
Run Code Online (Sandbox Code Playgroud)
应打印:
8
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码My_class,但是我一直遇到My_class与+操作员打交道的问题。我以为既然My_class是继承自int,那应该没有问题,但是显然我在这里缺少一些基本的东西。
public class My_class {
/* Data members*/
private int integer;
/* Constructors */
public My_class(int i) {integer = i;}
/* Methods */
public My_class add(My_class new_integer) {
return integer + new_integer;
}
Run Code Online (Sandbox Code Playgroud)
而不是预期的结果,我得到:
The operator + is undefined for the argument …Run Code Online (Sandbox Code Playgroud) r ×3
class ×1
css ×1
database ×1
dplyr ×1
html ×1
inheritance ×1
java ×1
methods ×1
rvest ×1
sql ×1
sql-server ×1
sqldf ×1
string ×1
web-scraping ×1