小编dee*_*mel的帖子

RMySQL fetch - 找不到继承的方法

使用RMySQL我想将数据从数据库加载到R中的数据帧.为此,我使用以下代码:

Rconnectdb:

con <- dbConnect(MySQL(),
user="root", password="password",
dbname="prediction", host="localhost")
Run Code Online (Sandbox Code Playgroud)

主要代码

library(RMySQL)
source("Rconnectdb") #load the database connection
query = "select received,isRefound from message" #specify query
rs=dbGetQuery(con,query) #resultset
dataset <- fetch(rs, n=-1) #fill dataset with all rows of the resultset
dbClearResult(rs) #clear resultset
Run Code Online (Sandbox Code Playgroud)

执行此操作我收到以下错误

函数错误(classes,fdef,mtable):无法找到函数"fetch"的继承方法,签名"data.frame","numeric"

有任何想法吗?

mysql r rmysql

2
推荐指数
1
解决办法
2938
查看次数

获取一列中具有相同值的行数和另一列中的正二进制值

(抱歉这个奇怪的标题,但我想不出一个简短的方法来把它)

由于我在上一个问题中设法过度简化了我的问题,这次我向你提供了实际问题.

提供的数据帧包含列"usr","usrMsgCnt"和"isRefound",其中usr是名称,usrMsgCnt是数字,isRefound是二进制.

将添加一个新列,其值的计算方法如下:

usrMsgCnt/usr等于此行的usr的行数,isRefound等于1

对于示例数据的第一行,新值将是:

9/5,按长度生成5(数据$ usr [data $ usr =="Jan.Schrader"&data $ isRefound == 1])

考虑到原始数据集的大小,循环使用此选项不是一种选择

这是一小部分数据的输入

structure(list(usr = structure(c(21L, 21L, 21L, 21L, 6L, 5L, 
6L, 6L, 6L, 21L, 20L, 21L, 6L, 20L, 21L, 21L, 21L, 6L, 6L, 6L
), .Label = c("alsmith", "Amanda.Coles", "Andrew.Coles", "babsimieth", 
"Bernd.Ludwig", "Bernhard.Schiemann", "bfueck", "Bram.Ridder", 
"brian.tripney", "carlosgardeazabal", "christine.elsweiler", 
"cmfinner", "daniel.goncalves", "david", "de56", "eko.ma", "freundlu", 
"gmcphail", "ian.ferguson", "Ian.Ruthven", "Jan.Schrader", "jearmour", 
"jyang", "Laura.Schnall", "Marc.Roper", "marek.maleika", "Martin.Hacker", 
"martin.scholz", "maziminke", "mclanger", "Michael.Cashmore", 
"morgan.harvey", "mrussell", "msherrif", "murray.wood", "Nadine.Mahrholz", 
"noam.ascher", …
Run Code Online (Sandbox Code Playgroud)

r vector dataframe

2
推荐指数
1
解决办法
528
查看次数

使用数据帧中列值的频率来计算新列值

所以我有一个示例数据框,其中包含id,count和username,其中id和count是数字,username是字符串.

对于数据帧的每一行,我想设置一个名为'ratio'的新列的值,其中ratio被定义为

count /行数,其中username ==此行中的用户名

提供数据的示例:
在用户名为"Tom"的每一行中,比率将为count/4,因为用户Tom在数据中被找到四次.

这只是我的问题的简化版本,for循环不是一个选项,因为我的原始数据帧有大约340万行和我以前的方法,我用for循环来迭代例如'username'的唯一值来解决这个问题问题需要永远.

我的数据帧的输入:

structure(list(id = 1:20, count = c(140L, 89L, 17L, 114L, 129L, 
86L, 21L, 50L, 197L, 160L, 8L, 14L, 78L, 208L, 155L, 55L, 63L, 
20L, 189L, 79L), usernames = structure(c(4L, 3L, 5L, 5L, 2L, 
3L, 1L, 1L, 3L, 1L, 3L, 2L, 5L, 5L, 4L, 4L, 2L, 2L, 2L, 3L), .Label = c("Jerry", 
"Mark", "Phil", "Tina", "Tom"), class = "factor")), .Names = c("id", 
"count", "usernames"), row.names = c(NA, 20L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

我希望我提供了一切让你理解和重现的问题,如果遗漏的东西在评论中毫不犹豫地提及它.

r vector dataframe

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

枚举上的逻辑运算符

给出一个包含4个元素的枚举

enum fontType {bold,italic,underlined,struck}
Run Code Online (Sandbox Code Playgroud)

此枚举类型的两个变量名为enum1和enum2,分配如下

fontType enum1=fontType.bold | fontType.italic;
fontType enum2=fontType.underlined & fontType.struck;
Run Code Online (Sandbox Code Playgroud)

为什么输出上的enum1 ='italic'和enum2 ='underlined'?

c# enums

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

MySQL的第一个值被解释为columnname

使用JDBC,我正在尝试执行以下SQL语句:

INSERT INTO meta (title, hlcount, textcount, imgcount, linkcount) VALUES (SomeString,6,4794,1,76)
Run Code Online (Sandbox Code Playgroud)

但这会返回错误消息

'字段列表'中的未知列'SomeString'

所以似乎第一个值被解释为一个列,那是怎么回事?

已经检查了表结构,也许我只是通过这个隧道,但我似乎无法找到导致此问题的原因.

java sql jdbc

-1
推荐指数
1
解决办法
158
查看次数

标签 统计

r ×3

dataframe ×2

vector ×2

c# ×1

enums ×1

java ×1

jdbc ×1

mysql ×1

rmysql ×1

sql ×1