仅更新Shiny App中数据框中的特定行

时间:2018-07-26 05:45:15

标签: r dataframe shiny

所以我试图构建一个闪亮的应用程序来实时计算特定行程的距离。我将每隔15秒实时获取数据,并在数据帧 this.chat.getMessage() .then(msg=> this.messages = msg); # messges = [] 中进行更新。为此,我需要将前15秒获得的值存储在第一行的另一个数据帧df1中。

随后,当我在接下来的15秒内在cal_distdf中获得新更新的数据时,应替换df1的第二行。 注意cal_distdf的第一行在整个应用程序中保持不变,并且每15秒仅更新第二行。

下面是我的R脚本。

cal_distdf

在我的代码中,我无法存储cal_distdf <- df1$Odovalue distcal <- reactive({ cal_distdf[2] <- df1$Odovalue disttravelled <- cal_distdf[2] - cal_distdf[1] return(disttravelled) }) output$Distance <- renderText({distcal()}) 的先前值。那么如何在整个应用程序中存储df1的先前值?

1 个答案:

答案 0 :(得分:1)

您可以首先使用database is locked (code 5): , while compiling: PRAGMA journal_mode at android.database.sqlite.SQLiteConnection.nativePrepareStatement(SQLiteConnection.java) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:896) at android.database.sqlite.SQLiteConnection.executeForString(SQLiteConnection.java:641) at android.database.sqlite.SQLiteConnection.setJournalMode(SQLiteConnection.java:323) at android.database.sqlite.SQLiteConnection.setWalModeFromConfiguration(SQLiteConnection.java:297) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:218) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:196) at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:836) at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:821) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:714) at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:592) at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:280) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) 创建一个数据框。此外,您可以在向reactiveValues()添加新行的同时使用isolate(),而不是仅更改特定的行值,而可以向行添加新值,并获取第一个值和最新添加的行之间的差值。

cal_distdf

希望这会有所帮助。