相关疑难解决方法(0)

在read.table/read.csv中为colClasses参数指定自定义日期格式

题:

有没有办法在read.table/read.csv中使用colClasses参数时指定Date格式?

(我意识到我可以在导入后进行转换,但是有很多像这样的日期列,在导入步骤中更容易实现)


例:

我有一个.csv格式的日期列%d/%m/%Y.

dataImport <- read.csv("data.csv", colClasses = c("factor","factor","Date"))
Run Code Online (Sandbox Code Playgroud)

这会导致转换错误.例如,15/07/2008成为0015-07-20.


可重现的代码:

data <- 
structure(list(func_loc = structure(c(1L, 2L, 3L, 3L, 3L, 3L, 
3L, 4L, 4L, 5L), .Label = c("3076WAG0003", "3076WAG0004", "3076WAG0007", 
"3076WAG0009", "3076WAG0010"), class = "factor"), order_type = structure(c(3L, 
3L, 1L, 1L, 1L, 1L, 2L, 2L, 3L, 1L), .Label = c("PM01", "PM02", 
"PM03"), class = "factor"), actual_finish = structure(c(4L, 6L, 
1L, 2L, 3L, 7L, 1L, 8L, 1L, 5L), .Label = c("", "11/03/2008", 
"14/08/2008", …
Run Code Online (Sandbox Code Playgroud)

r date read.table read.csv

101
推荐指数
3
解决办法
5万
查看次数

将新变量(列)添加到Shiny中的反应数据框中

我试图在反应数据框中添加非线性回归模型和多变量分析的优势.我设法创建了反应数据帧,在我过滤数据时随时更新.我现在想要在过滤数据帧时更新模型输出,并将模型的预测值添加到反应数据帧.下面是我正在使用的数据集的子集以及我用来创建闪亮App的ui和服务器文件.

加载包

library (shiny)
library(ggvis)
library(dplyr)
library(rbokeh)
library (minpack.lm)
library (hydroGOF)
library(caret)
Run Code Online (Sandbox Code Playgroud)

我使用的数据帧:

 Flux_Data_df<- structure(list(Site_ID = structure(c(1L, 3L, 5L, 7L, 8L), .Label = c("AR-Slu", 
"AR-Vir", "AU-Tum", "AU-Wac", "BE-Bra", "BE-Jal", "BE-Vie", "BR-Cax", 
"BR-Ma2", "BR-Sa1", "BR-Sa3", "BW-Ma1", "CA-Ca1", "CA-Ca2", "CA-Ca3", 
"CA-Gro", "Ca-Man", "CA-NS1", "CA-NS2", "CA-NS3", "CA-NS4", "CA-NS5", 
"CA-NS6", "CA-NS7", "CA-Oas", "CA-Obs", "CA-Ojp", "CA-Qcu", "CA-Qfo", 
"CA-SF1", "CA-SF2", "CA-SF3", "CA-SJ1", "CA-SJ2", "CA-SJ3", "CA-TP1", 
"CA-TP2", "CA-TP3", "CA-TP4", "CA-Wp1", "CN-Bed", "CN-Cha", "CN-Din", 
"CN-Ku1", "CN-Qia", "CZ-Bk1", "De-Bay", "DE-Hai", "DE-Har", "DE-Lkb", 
"DE-Meh", "DE-Obe", "DE-Tha", "DE-Wet", "DK-Sor", "ES-Es1", "FI-Hyy", …
Run Code Online (Sandbox Code Playgroud)

r dataframe shiny

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

使用R shiny上传后编辑数据框

我构建了一个闪亮的应用程序,它采用用户上传的CSV文件并添加标题和几个新列,以便之后进行一些计算.

上传的CSV文件包含2列,如下所示:

1  0.21
1  0.20
1  0.23
2  0.40
2  0.42
2 ...
Run Code Online (Sandbox Code Playgroud)

要上传文件我使用此代码(正在运行):

data1<- reactive({
    inFile <- input$file1
    if(is.null(inFile)){return()}
    data1<- read.csv(file=inFile$datapath,header =input$header,sep=input$sep)
})
Run Code Online (Sandbox Code Playgroud)

下一步是将标题添加到这两列,并以这种方式添加另外两列:

Dose  Response SquareRoot    Log  
1     0.21     sq(Response)  log(Response)
1     0.20     ...           ...
1     0.23     ...           ...
2     0.40     ...           ...
2     0.42     ...           ...
2 ...
Run Code Online (Sandbox Code Playgroud)

在R会话中,我将使用的代码是:

  data1<- read.csv(file=inFile$datapath,header =input$header,sep=input$sep)
  colnames(data1) <-c("Dose","Response")
  data1$ResponseLog <- log10(data1$Response + 1)
  data1$ResponseSqRoot <- sqrt(data1$Response + 1)
Run Code Online (Sandbox Code Playgroud)

如果我这样做有光泽地将这些行添加到我的Rshiny应用程序中它将无法工作并给我错误: 错误:长度为0的参数,即使我只是使用定义列名称colnames().

所以我的问题是,有没有办法编辑我刚上传的数据帧?我已经问过这个问题你能不能重定向我,因为我找不到解决方案.我希望我能给你足够的细节来理解这个问题.

r edit import-from-csv shiny

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

标签 统计

r ×3

shiny ×2

dataframe ×1

date ×1

edit ×1

import-from-csv ×1

read.csv ×1

read.table ×1